我知道,通过将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