我需要检查数组值,但是当数组为空时,我得到这个:错误:不能使用字符串偏移作为数组
if (!empty($items[$i]['tickets']['ticket'][0]['price']['eur'])) { //do something }
如何正确执行?
您需要检查是否设置了变量,然后检查它是否是一个数组,然后检查是否设置了数组的元素。if 的语句将按顺序执行,当一个为 false 时将中断。
if(isset($items) && is_array($items) && isset($items[$i]['tickets']['ticket'][0]['price']['eur'])) {
//jep it's there
}
或者只是尝试一下(额外的 sipmle 变体):
if (!isset($items[$i]['tickets']['ticket'][0]['price']['eur'])) {
// do action
}