5

我知道一些数组函数,比如array_rand,只要你把(array)放在对象前面,就可以为对象工作。在这种情况下,我正在尝试获取

 $this->id = end($this->log->r);

这将返回最后一个元素中的所有元素。我只想知道那个元素的关键是什么。这是一个 JSON_decoded 对象。

4

2 回答 2

12

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)

此功能与数组相同如何获取数组中的最后一个键

于 2013-01-31T18:15:47.607 回答
-2

您可以在对对象应用 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']);
于 2019-09-30T12:49:23.530 回答