在PHP中选择WP_Post对象值(如果有)

时间:2018-01-14 23:39:25

标签: php arrays wordpress

我有这个示例数组/对象:

//$monday array values
Array (
[menu_item1] => 
[menu_item2] =>
Array (
[0] =>
WP_Post Object (
[ID] => 530 
[post_content] => Food selection 2 
[post_title] => Food 2 ) ) 

我是WP_Post Objects的初学者。如何获得menu_item1 ID(如果有值)和menu_item2 ID值(如果已有)?

The documentation对我没有帮助。

我确定它有类似但不起作用:

foreach ($monday as $key => $value) {
    if ($value) {
        $myid = $value->ID;
    }
}

1 个答案:

答案 0 :(得分:1)

来自评论(@Erwin)。

foreach ($monday as $key => $value) {
    if ($value) {
        $myid = $value[0]->ID; // this way you can access to object and get id
    }
}

检查:

foreach ($monday as $key => $value) {
    if (!empty($value)) { //checking all values to not be empty
        if(!empty($value[0])){ //checking, if exists something where you have id
            $myid = $value[0]->ID;
        }
    }
}

此外,您可以仔细检查第二个语句以仅获取对象:

foreach ($monday as $key => $value) {
    if (!empty($value)) { 
        if(!empty($value[0]) && is_object($value[0])){ 
            $myid = $value[0]->ID;
        }
    }
}

另外,请记住。如果你的数组的类型会改变,那么上面的代码将不会按预期给你结果。