如何检查此数组中是否存在名为$ attachements print_r的徽标,如下所示:
阵列( [logo] => /home/richar2/public_html/ioagh/images/stories/jreviews/20100510115659_1_img.gif )
当没有标识时,数组print_r的
我尝试过: if(isset($ attachments ['logo'])){..} 但条件代码在没有徽标时运行Array()
答案 0 :(得分:2)
使用函数array_key_exists
。
答案 1 :(得分:1)
isset()无法正常工作,我很确定应该这样做。也许你的代码中的其他地方有问题。
无论如何,如果你想尝试别的东西,有一个特定的功能:array_key_exists()
答案 2 :(得分:1)
这对我来说符合预期:
$arr['logo'] = '/home/richar2/public_html/ioagh/images/stories/jreviews/20100510115659_1_img.gif';
print_r($arr);
if (isset($arr['logo'])){
echo $arr['logo'];
}else{
echo 'Key doesn\'t exist!';
}
你确定你设置$ arr ['logo'] = null,而不是$ arr ['logo'] =''? 对于后者,您也可以检查
if (isset($arr['logo'] && !empty($arr['logo'])){
...
}
答案 3 :(得分:0)
但条件代码运行时 没有徽标
您可以构造else
子句以采取适当的措施:
if (isset($attachments['logo']))
{
// logo is set
}
else
{
// loto is not set
}
或者只是试试这个:
if (array_key_exists('logo', $attachments))
{
// logo is set
}
的更多信息
答案 4 :(得分:0)
您可以使用array_key_exists。
答案 5 :(得分:0)
function md_array_key_exists ($key, $array)
{
foreach ($array as $item => $val)
{
if ($item === $key)
{
return true;
}
if (is_array ($val))
{
if (true == marray_key_exists ($key, $val))
return true;
}
}
return false;
}