【发布时间】:2013-01-15 21:50:08
【问题描述】:
我知道一些数组函数,例如array_rand,只要将(array) 放在对象前面,就可以对对象起作用。在这种情况下,我试图获取
的 ID $this->id = end($this->log->r);
这将返回最后一个元素中的所有元素。我只想知道那个元素的关键是什么。这是一个 JSON_decoded 对象。
【问题讨论】:
我知道一些数组函数,例如array_rand,只要将(array) 放在对象前面,就可以对对象起作用。在这种情况下,我试图获取
的 ID $this->id = end($this->log->r);
这将返回最后一个元素中的所有元素。我只想知道那个元素的关键是什么。这是一个 JSON_decoded 对象。
【问题讨论】:
您可以在对对象应用 end() 方法之前强制转换数组:
# $menu_items is an object returned by wp_get_nav_menu_items() wordpress method
$menu_items = wp_get_nav_menu_items('nav_menu');
$last_item = (array) end($menu_items);
print_r($last_item['title']);
【讨论】:
end() 将指针设置为对象中定义的最后一个属性并返回其值。
当指针移动时,可以调用key()函数获取属性名
<?php
$object = new stdClass();
$object->first_property = 'first value';
$object->second_property = 'second value';
$object->third_property = 'third value';
$object->last_property = 'last value';
// move pointer to end
end($object);
// get the key
$key = key($object);
var_dump($key);
?>
输出
string 'last_property' (length=13)
此功能与数组 How to get last key in an array 相同
【讨论】: