Warning: file_get_contents(/data/phpspider/zhask/data//catemap/1/php/284.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
php通过json循环,不同的属性名称_Php_Json - Fatal编程技术网

php通过json循环,不同的属性名称

php通过json循环,不同的属性名称,php,json,Php,Json,我对json感到不舒服,必须有一种更简单的方法来完成我正在做的事情 下面是我正在使用的json提要的一个示例 "goalie": [ { "position": "Goalie", "id": 8476945, "weight": 207, "height": "6' 4\"", "imageUrl": "http://3.cdn.nhle.com/photos/mugs/8476945.jpg",

我对json感到不舒服,必须有一种更简单的方法来完成我正在做的事情

下面是我正在使用的json提要的一个示例

"goalie": [
    {
        "position": "Goalie",
        "id": 8476945,
        "weight": 207,
        "height": "6' 4\"",
        "imageUrl": "http://3.cdn.nhle.com/photos/mugs/8476945.jpg",
        "birthplace": "Commerce, MI, USA",
        "age": 22,
        "name": "Connor Hellebuyck",
        "birthdate": "May 19, 1993",
        "number": 30
    }
],
"defensemen": [
    {
        "position": "Defenseman",
        "id": 8470834,
        "weight": 260,
        "height": "6' 5\"",
        "imageUrl": "http://2.cdn.nhle.com/photos/mugs/8470834.jpg",
        "birthplace": "Roseau, MN, USA",
        "age": 30,
        "name": "Dustin Byfuglien",
        "birthdate": "March 27, 1985",
        "number": 33
    }
]
这里有比上面显示的更多的数据,多个守门员、防守队员和前锋。目前,我正在使用一个for循环来绕过守门员,然后使用另一个for循环来绕过防守队员等等。是否有一种方法可以循环遍历每个玩家,而不考虑属性名称,不确定这是否是正确的术语。。。如果没有,请纠正我


谢谢

是的,有!在PHP中,对象(或关联数组或字典)上的循环方式与数组(索引数组或列表)上的循环方式相同。所以嵌套循环是你的朋友。假设您的庞大数据结构被保存到一个名为
$everyone

<?php
    foreach ($everyone as $playergroup => $players) {
        foreach ($players as $player) {
            // now you can operate on each player
        }
    }
?>


请将您当前的代码发布如下:您的问题与JSON无关;解析JSON文件后,您所拥有的就是一个
数组。其次,您的“json提要”不是有效的json!您可能缺少数据完整性方面的
[
]