我怎樣才能檢查標誌存在於該陣列稱爲$附着物的print_r低於:PHP如果數組鍵多維陣列內部存在
陣列( [徽標] => /家庭/ richar2 /的public_html/ioagh /images/stories/jreviews/20100510115659_1_img.gif )
即使世界上沒有標誌,陣列的print_r的
陣列()
我想:如果 (isset($附件[ '標誌'])){..} 但有條件代碼時沒有標誌
我怎樣才能檢查標誌存在於該陣列稱爲$附着物的print_r低於:PHP如果數組鍵多維陣列內部存在
陣列( [徽標] => /家庭/ richar2 /的public_html/ioagh /images/stories/jreviews/20100510115659_1_img.gif )
即使世界上沒有標誌,陣列的print_r的
陣列()
我想:如果 (isset($附件[ '標誌'])){..} 但有條件代碼時沒有標誌
使用功能array_key_exists
運行。
這是非常STANGE是isset()函數不工作,我敢肯定它應該。也許你在代碼的其他地方有問題。
無論如何,如果你想嘗試其他的東西,有一個特定的功能:array_key_exists()
但有條件的代碼運行時 沒有標誌
你可以構建一個else
條款採取適當的措施:
if (isset($attachments['logo']))
{
// logo is set
}
else
{
// loto is not set
}
或者乾脆試試這個:
if (array_key_exists('logo', $attachments))
{
// logo is set
}
更多信息上array_key_exists
您可以使用array_key_exists。
這對我的作品如預期:
$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!';
}
你確定你設置$常用3 [ '標誌'] = NULL,而不是$常用3 [ '標誌'] = ''? 對於後者,你也可以檢查
if (isset($arr['logo'] && !empty($arr['logo'])){
...
}
如果是這種情況($ arr ['logo'] =''),您應該使用empty()來檢查if $ arr ['logo']被設置爲非空值。 – MartinodF 2010-05-10 11:14:49
你可以寫這樣的:
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;
}
從例如#2 PHP array_key_exists頁: 「isset()函數不返回TRUE的數組鍵那對應於一個NULL值,而array_key_exists()做。「 http://php.net/manual/en/function.array-key-exists.php – 2012-12-29 23:18:28