【问题标题】:Getting nested array data from JSON从 JSON 获取嵌套数组数据
【发布时间】:2018-02-13 04:05:30
【问题描述】:

我目前正在尝试从 PHP 中的一些 json 代码中检索一些信息。我已经取得了一些成就,但我正在尝试从嵌套数组中获取玩家姓名,但遇到了一些麻烦。这是json信息:

抱歉,我不得不在 pastebin 上发帖,因为 JSON 不会嵌入到代码框中。 ht tps://pastebin.com/6RZAgKFa

我已经像这样提取了信息:

$json_string2 = 'URL TO JSON DATA';
$jsondata2 = file_get_contents($json_string2);
$serverinfo2 = json_decode($jsondata2,true);

我可以通过打印来查看它。

现在我正在尝试遍历所有内容以检索名称,我正在尝试以下操作:

foreach($serverinfo2 as $playerinfo) {
                    foreach($playerinfo as $playerstuff) {
                        echo $playerstuff;
                    }
                }

但这会返回完整的数组。然后我将 [name] 添加到 echo $playerstuff 的末尾,它返回一个数字 1 和一个 D。甚至不相关,$playerstuff->name 也不起作用。任何人都可以帮助我。谢谢:)

【问题讨论】:

  • 你能粘贴json响应吗?
  • echo $playerstuff 返回 127.0.0.12ArrayArray85 并且 $playerstuff[name] 返回 1D
  • 检查我的答案

标签: php arrays json


【解决方案1】:

你可以试试这个来实现来自 json 嵌套数据的数据:

<?php
$res = '[{"endpoint":"127.0.0.1","id":"2","identifiers":["STEAMID HERE","LICENSE HERE"],"name":"Deadpool","ping":"85"},{"endpoint":"127.0.0.1","id":"1","identifiers":["STEAMID HERE","LICENSE HERE"],"name":"Logan","ping":"73"}]';
$result = json_decode($res,true);
// echo '<pre>'; //print_r($result);
foreach ($result as $key => $value) {
    // print_r($value);
    echo $endpoint = 'endpoint : ' .$value['endpoint'];echo "<br/>";
    echo $name = 'name :' .$value['name'];echo "<br/>";
}
?>

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2020-04-13
    • 1970-01-01
    • 2018-10-15
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多