dou29106 2017-10-01 13:39
浏览 111
已采纳

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

I want to get the last element in the JSON decoded array, Error I am getting

Warning: end() expects parameter 1 to be array

$data output

stdClass Object ( 
    [contact001] => stdClass Object ( [age] => 33 [name] => Robert [tel] => 87778787878787878 ) 
    [contact002] => stdClass Object ( [age] => 33 [name] => Calvin [tel] => 87778787878787878 ) 
)

PHP code:

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

$data=json_decode($namejson);

foreach ($data as $key => $value) {
    echo end($key);
}

Warning: end() expects parameter 1 to be array

  • 写回答

2条回答 默认 最新

  • duanbishai5271 2017-10-01 13:57
    关注

    When you decode your $namejson json string to array, you can use array_keys to get array of keys, that are present in your array. Next, you need the last key from this array, use array_pop for this. And because the last key is a string, you can use simple ++ operator to increment the value:

    $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;
    
    本回答被题主选为最佳回答 , 对您是否有帮助呢?
    评论
查看更多回答(1条)

报告相同问题?

悬赏问题

  • ¥15 删除虚拟显示器驱动 删除所有 Xorg 配置文件 删除显示器缓存文件 重启系统 可是依旧无法退出虚拟显示器
  • ¥15 vscode程序一直报同样的错,如何解决?
  • ¥15 关于使用unity中遇到的问题
  • ¥15 开放世界如何写线性关卡的用例(类似原神)
  • ¥15 关于并联谐振电磁感应加热
  • ¥15 this signal is connected to multiple drivers怎么解决
  • ¥60 请查询全国几个煤炭大省近十年的煤炭铁路及公路的货物周转量
  • ¥15 请帮我看看我这道c语言题到底漏了哪种情况吧!
  • ¥66 如何制作支付宝扫码跳转到发红包界面
  • ¥15 pnpm 下载element-plus