하틴

if($num >= "false"){ 이런 문법(?)이 있나요?

제가 array_search로 배열에 키값을 빼와서 뿌려주는데

 

array_search 얘가 결과가 없으면 false 를 뱉고 첫번째 배열값이면 0 을 뱉어줍니다.

 

그래서 false와 0 을 구분하려고 if문을 썼는데 구분되지가 않아서

 

찾아보니까 https://stackoverflow.com/questions/15934392/php-array-search-0-index

 

이런게 있어서 !==를 해봐도 안되더라구요 ㅠㅠ

 

그래서 실수로 if($num >= "false"){ 이렇게 해서 빌드를 했는데 갑자기 되는겁니다;;

 

그래서 너무 신기해서 구글링해도 관련 내용을 찾을 수가 없는데; 혹시 아시는 분이 계신가해서 올려보아요.

|

댓글 4개

$num !== false
$num === false
이렇게 하셔야 합니다.
적으신 문법은
$num 변수값과 "false"라는 문자열을 비교한 것입니다
문자열의 순번상 f를 먼저 비교하고 a l s e
를 순서대로 시스템의 문자열코드값들을 비교해서 더크면 일테니
num의 값이 숫자나 false라면
늘 거짓이겠죠
문자열을 찾았을 때는 키 값인 정수형이 넘어오고 문자열이 없는 경우 false라는 논리형 값이 넘어오니
if(!is_numeric($num)) 처럼 해도 될 거 같기도 하네요. ㅎ
@잉끼s @플래토 @바보천사 답변 감사드립니다~!^^

본문에 링크있는 곳에서 !== 로 구분이 된다고해서 써봤었는데 안되더라구요;;

테스트 해봤는데 if($num >= "false"){ 일때 $num 이 숫자면 무조건 true고
false나 문자열이면 false로 나옵니다 ㅎㅎ;

그리고 바보천사님이 써주신 is_numeric을 쓰니까 잘됩니다 ㅎㅎ 이걸로 바꿔야겠습니다 ㄷㄷ
댓글을 작성하시려면 로그인이 필요합니다. 로그인

자유게시판

+
제목 글쓴이 날짜 조회
6년 전 조회 1,128
6년 전 조회 1,161
6년 전 조회 1,106
6년 전 조회 1,230
6년 전 조회 1,107
6년 전 조회 1,106
6년 전 조회 817
6년 전 조회 1,118
6년 전 조회 1,241
6년 전 조회 1,154
6년 전 조회 1,694
6년 전 조회 4,353
6년 전 조회 1,245
6년 전 조회 1,094
6년 전 조회 1,265
6년 전 조회 1,189
6년 전 조회 1,106
6년 전 조회 1,170
6년 전 조회 1,397
6년 전 조회 991
6년 전 조회 1,689
6년 전 조회 923
6년 전 조회 1,107
6년 전 조회 1,096
6년 전 조회 1,196
6년 전 조회 819
6년 전 조회 1,006
6년 전 조회 1,052
6년 전 조회 2,358
6년 전 조회 2,494
🐛 버그신고