在 PHP 中从 JSON 获取单个项目

Get a single item from JSON in PHP

我正在搜索堆栈溢出,但没有找到我想要做的事情... 所以这里是问题: 如何 RETURN 仅使用蒸汽?

代码:

<?php
// define variables and set to empty values
$steamID = "";
if ($_SERVER["REQUEST_METHOD"] == "POST") {
  $steamID = test_input($_POST["steamID"]);
}
function test_input($data) {
  $data = trim($data);
  $data = stripslashes($data);
  $data = htmlspecialchars($data);
  return $data;
}
$keyApp = '5DE00EE4D07BA728EDAB0B3C2961AA6B';
$api = "";
$json_data = file_get_contents("http://api.steampowered.com/ISteamUser/GetPlayerSummaries/v0002/?key=$keyApp&steamids=$steamID");
$array = json_decode($json_data, true);
var_dump($array);
?>

var_dump:

array(1) {
  ["response"]=>
  array(1) {
    ["players"]=>
    array(1) {
      [0]=>
      array(19) {
        ["steamid"]=>
        string(17) "76561198058543756"
        ["communityvisibilitystate"]=>
        int(3)
        ["profilestate"]=>
        int(1)
        ["personaname"]=>
        string(12) ""Cientistas""
        ["commentpermission"]=>
        int(1)
        ["profileurl"]=>
        string(37) "https://steamcommunity.com/id/rhatto/"
        ["avatar"]=>
        string(116) "https://steamcdn-a.akamaihd.net/steamcommunity/public/images/avatars/c9/c9442f1ea597a7685f8e50f2f7c922321beb4eba.jpg"
        ["avatarmedium"]=>
        string(123) "https://steamcdn-a.akamaihd.net/steamcommunity/public/images/avatars/c9/c9442f1ea597a7685f8e50f2f7c922321beb4eba_medium.jpg"
        ["avatarfull"]=>
        string(121) "https://steamcdn-a.akamaihd.net/steamcommunity/public/images/avatars/c9/c9442f1ea597a7685f8e50f2f7c922321beb4eba_full.jpg"
        ["avatarhash"]=>
        string(40) "c9442f1ea597a7685f8e50f2f7c922321beb4eba"
        ["lastlogoff"]=>
        int(1593317334)
        ["personastate"]=>
        int(0)
        ["realname"]=>
        string(44) "por erro em estudo sobre a hidroxicloroquina"
        ["primaryclanid"]=>
        string(18) "103582791454640235"
        ["timecreated"]=>
        int(1328817888)
        ["personastateflags"]=>
        int(0)
        ["loccountrycode"]=>
        string(2) "CN"
        ["locstatecode"]=>
        string(2) "32"
        ["loccityid"]=>
        int(9982)
      }
    }
  }
}

如何从 $array 中提取 steamid? 已经试过这个链接 https://www.codewall.co.uk/how-to-read-json-file-using-php-examples/ https://www.php.net/manual/pt_BR/function.json-decode.php

通过访问 steamid 的正确路径,唯一的问题是,显然您可能在玩家数组中有多个项目。所以你可能需要某种循环。

可能是这样的:

$players = $array['response']['players'];

foreach($players as $player) {
  echo $player['steamid'] . '<br>';
}

或者如果你的玩家数组中总是有 1 个玩家,你也可以这样做(快速而肮脏):

echo $array['response']['players'][0]['steamid'];

$steamID = $array['response']['players'][0]['steamid'];