我知道,通過將sting分配給變量,可以通過將變量用作索引數組來表示單個字符,但爲什麼下面的代碼,使用關聯數組,不僅僅是因爲需要缺少而死亡?爲什麼'isset'不會在一個肯定不存在的數組鍵上拋出FALSE?php變量,字符串和數組:關聯數組返回字符串的第一個字母
unset($a);
$a = 'TESTSTRING';
if(!isset($a['anystring'])){
die('MISSING REQUIRED');
}else{
var_dump($a['anystring']);
}
上面的例子將輸出:
string(1) "T"
編輯:
正如耶勒凱澤表示,這可能是比較安全的事:
if(!array_key_exists('required',$_POST)){
die('MISSING REQUIRED');
}else{
echo $_POST['required'];
}
有趣的是,只在4.3.0 - 4.4.9和5.0.3 - 5.3.29 http://3v4l.org/vkgBC – AbraCadaver 2014-12-05 16:56:42