在實(shí)際測(cè)試中php讀取json數(shù)組時(shí) 使用簡(jiǎn)單的 if 或者 array_key_exists 去判斷對(duì)象是否存在是會(huì)報(bào)錯(cuò)的,以下是google搜尋的正確判斷方法
實(shí)際上出現(xiàn)報(bào)錯(cuò)只是我對(duì)php還不是很精通 因此可能我認(rèn)為正確的判斷方法同樣不是最完美的解決方法甚至是錯(cuò)誤的 此篇博文留作自用
錯(cuò)誤代碼:
$structure = imap_fetchstructure($connection, $id, FT_UID);
if (array_key_exists('parts', $structure))
{
}
會(huì)出現(xiàn)報(bào)錯(cuò) Warning: array_key_exists() expects parameter 2 to be array, boolean given
正確的解決方案是:
if (is_array($structure) && array_key_exists('parts', $structure)) { //...magic stuff here }
而還有一種就是使用 isset 來(lái)直接判斷:
if(isset($structure['parts']))
{
}
//這個(gè)函數(shù)用來(lái)測(cè)試變量是否已經(jīng)配置。若變量已存在則返回 true 值。其它情形返回 false 值。
//因此需要若變量存在且值不為NULL,才返回 TURE
以上所述是小編給大家介紹的PHP判斷JSON對(duì)象是否存在的方法(推薦),希望對(duì)大家有所幫助.