我试图从数组中提取一个值,如果它存在于数组中,但即使我知道该值存在,我也总是为null
这是有效的
$data['key']
这不起作用。 getVal1返回null
$sql2="INSERT INTO test (text, date) VALUES ('".getVal1('key',$data)."', NOW())";
function getVal1($name,$d){
if ($d !=null && in_array($name, $d) ) {
return $d[$name];
}
return null;
}
我的getVal1()
功能有什么问题吗?
答案 0 :(得分:3)
您的问题是in_array
搜索数组值,但您传递的是数组键。
如果符合以下条件,您可以使用isset和ternary简化代码:
function getVal1($name,$d){
return isset($d[$name])?$d[$name]:null;
}
答案 1 :(得分:2)
你想:
if (isset($d[$name]))
return $d[$name];
else
return null;