0

我需要检查数组值,但是当数组为空时,我得到这个:错误:不能使用字符串偏移作为数组

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

如何正确执行?

4

2 回答 2

2

您需要检查是否设置了变量,然后检查它是否是一个数组,然后检查是否设置了数组的元素。if 的语句将按顺序执行,当一个为 false 时将中断。

if(isset($items) && is_array($items) && isset($items[$i]['tickets']['ticket'][0]['price']['eur'])) {
    //jep it's there
}
于 2012-11-07T12:31:10.740 回答
0

或者只是尝试一下(额外的 sipmle 变体):

if (!isset($items[$i]['tickets']['ticket'][0]['price']['eur'])) {
   // do action
}
于 2012-11-07T12:34:30.637 回答