JSON解码得到最后一个元素,PHP结束

ben*_*ben 0 php

我想获取 JSON 解码数组中的最后一个元素,我收到错误

警告:end() 期望参数 1 为数组

$data输出

stdClass Object ( 
    [contact001] => stdClass Object ( [age] => 33 [name] => Robert [tel] => 87778787878787878 ) 
    [contact002] => stdClass Object ( [age] => 33 [name] => Calvin [tel] => 87778787878787878 ) 
)
Run Code Online (Sandbox Code Playgroud)

PHP代码:

$namejson = $firebase->get(DEFAULT_PATH . '/name/');

$data=json_decode($namejson);

foreach ($data as $key => $value) {
    echo end($key);
}
Run Code Online (Sandbox Code Playgroud)

警告:end() 期望参数 1 为数组

u_m*_*der 5

当您将 json 字符串解码$namejson为数组时,您可以使用array_keys来获取数组中存在的key 数组。接下来,您需要该数组中的最后一个键,用于array_pop此目的。因为最后一个键是一个字符串,所以您可以使用简单的++运算符来增加值:

$data = json_decode($namejson, true);
$keys = array_keys($data);
$last_key = array_pop($keys);
echo 'Last key: ' . $last_key;
$last_key++;
$next_key = $last_key;
echo 'Next key: ' . $next_key;
Run Code Online (Sandbox Code Playgroud)