2013-06-30 4 views
0
if ($_POST['foo']) { 
    // bar 
} 

(빠르고 간단)이 코드는 정확히 무엇을하고 있습니까?

또는

이 그 것들의 조합을 말하고,

또는

이이 ... if the $_POST['foo'] variable is not null...을 말하고,

또는

이이 ... if the $_POST['foo'] variable isset...을 말하고, ...if the $_POST['foo'] variable is a boolean, and is true... 말인가요? 아니면 완전히 다른 것을 말하는 것입니까?

+0

부울 비교 : http://nz1.php.net/manual/en/types.comparisons.php 여기

은 PHP 문서 (http://ca3.php.net/manual/en/language.types.boolean.php)에서, 몇 가지 예 –

답변

8

이 값의 진실성을 확인하고 있습니다. 0, 비어 있거나 키가 존재하지 않으면 거짓입니다. 키가 존재하지 않으면 알림을 내 보냅니다.

0

일반적으로 조건문에 들어가는 모든 것은 부울 값을 갖거나 부울 값을 가져야합니다.

또한 $_POST['foo']의 경우 변수의 값이 부울인지 또는 부울로 평가되는지 여부를 확인합니다. 각각 ""0과 같지 않은 문자열과 숫자는 true으로 처리되며 여기서 ""0 (또는 비어 있음)은 false으로 처리됩니다. 변수가 정의되지 않은 경우 Undefined variable 고지문이 표시되고 문은 false

1

으로 평가되며 전달할 변수의 부울 값을 확인합니다. 변수가 비어 있지 않은 (예 : 배열) 항목이나 널 (0이 아닌 숫자)이 아닌 값을 포함하는 경우 변수가 true 인 경우 true입니다.

var_dump((bool) "");  // bool(false) 
var_dump((bool) 1);   // bool(true) 
var_dump((bool) -2);  // bool(true) 
var_dump((bool) "foo");  // bool(true) 
var_dump((bool) 2.3e5);  // bool(true) 
var_dump((bool) array(12)); // bool(true) 
var_dump((bool) array()); // bool(false) 
var_dump((bool) "false"); // bool(true) 
관련 문제