嘿,伙计们,我真的不知道为什么会这样,但是我登机,但我没有找到任何解决方案。
我在PHP中有一个数组:
$default_setting=[
"test1"=>"",
"test2"=>""
];
并且我使用此代码来检查是否存在于数组中:
function test($setting_name){
if(in_array($setting_name,$GLOBALS['default_setting'])){
return 1;
}else{
return 0;
}
}
test('test1');
现在它应该返回1,但是当存在test1
时它返回0。
我正在为这个问题添加标签,我发现了array_key_exists
标签,并且我知道我不应该使用in_array
,而我应该使用array_key_exists
并且我的问题现在已经解决了:D
就像您说的那样,问题在于in_array在数组中寻找值,而“ test1”和“ test2”是键。 array_key_exists函数可以完成此工作,但是isset函数也许是一种用于检查键是否存在的简单且可移植的方法:
function test($setting_name) {
return isset($GLOBALS['default_setting'][$setting_name]) ? 1 : 0;
}