테스트 사이트 - 개발 중인 베타 버전입니다

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을 쓰니까 잘됩니다 ㅎㅎ 이걸로 바꿔야겠습니다 ㄷㄷ

게시판 목록

자유게시판

글쓰기
🐛 버그신고