我有以下条件:
if (
$items[ $count + 1 ]->menu_item_parent != $parent_id &&
$submenu &&
$items[ $count + 1 ]->menu_item_parent != $item->ID) {
//something
}
我收到通知:
Undefined offset: 13
所以我假设$items
数组中不存在13,并且可以通过in_array
检查来避免它。但是我不确定如何在上述条件下使用该功能。
答案 0 :(得分:7)
if ( isset($items[ $count + 1 ]) &&
$items[ $count + 1 ]->menu_item_parent != $parent_id &&
$submenu &&
$items[ $count + 1 ]->menu_item_parent != $item->ID) {
//something
}
答案 1 :(得分:3)
您可以先检查$items[$count + 1]
是否存在。喜欢
if(
//check first if $items[$count + 1] exists, else it breaks here
isset($items[ $count + 1 ] )
//now you know $item[$count + 1] exists, so you can continue
&&
(
$items[$count + 1]->menu_item_parent != $parent_id &&
$submenu &&
$items[ $count + 1 ]->menu_item_parent != $item->ID
)
){
//something
}
答案 2 :(得分:1)
答案 3 :(得分:1)
好的,in_array文档说:
in_array(混合$ needle,数组$ haystack)
其中
针 =搜索值
haystack =数组
您不是在寻找值,而是在寻找键
当您查看另请参阅下方的底部时,它会显示:
这就是你要找的东西:
如果在数组中设置了给定的键,则array_key_exists()返回TRUE。 key可以是数组索引可能的任何值。
完美!正是你想要的!
array_key_exists(混合$ key,数组$ array)
,其中
键 =要检查的值
数组 =数组(duh!)
if ( array_key_exists($count + 1, $items))
$items[ $count + 1 ]->menu_item_parent != $parent_id &&
$submenu &&
$items[ $count + 1 ]->menu_item_parent != $item->ID) {
//something
}