PHP访问名为的数组值

PHP访问名为的数组值,php,arrays,Php,Arrays,我正在尝试制作一个PHP网站,从(一个大的)数组中获取信息 该数组如下所示: "playerstats": { "steamID": "MyID", "gameName": "ValveTestApp260", "stats": [ { "name": "total_kills", "value": 35342 },

我正在尝试制作一个PHP网站,从(一个大的)数组中获取信息

该数组如下所示:

"playerstats": {
        "steamID": "MyID",
        "gameName": "ValveTestApp260",
        "stats": [
            {
                "name": "total_kills",
                "value": 35342
            },
            {
                "name": "total_deaths",
                "value": 30465
            },
            {
                "name": "total_time_played",
                "value": 1952281
            so on and so on...
我现在访问它的方式是使用:

$kills = $jsonforgame['playerstats']['stats'][0]['value'];
$deaths = $jsonforgame['playerstats']['stats'][1]['value'];
问题是,我在数组中有数百个“stats”,有没有一种方法可以访问带有名称的所有值(比如total_kills&total_deations),而不必计算所有数组


感谢阅读:)

要从多维数组中选择统计信息:

$searchName = 'total_kills';

$stat = $jsonforgame['playerstats']['stats'][array_search($searchName, array_column($jsonforgame['playerstats']['stats'], 'name'))];

使用
数组搜索

$stats_array = $jsonforgame['playerstats']['stats'];
$key = array_search('total_deaths', array_column($stats_array, 'name'));
$deaths = $stats_array[$key]['value'];

echo var_dump($key).PHP_EOL;
echo var_dump($stats_array[$key]).PHP_EOL;
echo var_dump($deaths).PHP_EOL;

您可以更改stats数组的结构,将stat名称用作数组键,如下所示:

"playerstats": {
    "steamID": "MyID",
    "gameName": "ValveTestApp260",
    "stats": {
        "total_kills": 35342,
        "total_deaths": 30465,
        "total_time_played": 1952281
    }
}
然后您可以使用

$kills = $jsonforgame['playerstats']['stats']['total_kills'];

编辑:使用question的数组名。他不是问如何构造统计数据,而是问如何访问它们。这种结构使它们更容易访问。如果重新构造数组是一种选择,那么这将更容易和更具可读性。这将是理想的方法,但我对数组结构没有影响。