2012-11-07 79 views
0

我需要檢查數組值,但是當數組是空的,我得到這個空管檢查:錯誤:無法使用字符串數組深陣列在PHP

if (!empty($items[$i]['tickets']['ticket'][0]['price']['eur'])) { //do something } 

如何做是正確的偏移?

+0

你讀過這一點:http://informationideas.com/news/2006/06/14/fatal-error-cannot- use-string-offset-as-an-array-in/ – George

+0

感謝您的鏈接。我讀過它,但仍然不知道 – Gediminas

回答

2

您需要檢查變量是否設置,然後如果它是數組,然後檢查數組的元素是否設置。 if的語句將按順序執行,並且當錯誤時將會中斷。

if(isset($items) && is_array($items) && isset($items[$i]['tickets']['ticket'][0]['price']['eur'])) { 
    //jep it's there 
} 
0

或者只是嘗試(額外sipmle變體):

if (!isset($items[$i]['tickets']['ticket'][0]['price']['eur'])) { 
    // do action 
}