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


php loop through json, differing property names

我对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循环来循环遍历守门员,然后用另一个循环遍历防守队员等等。有没有一种方法可以循环遍历每个球员,无论财产名称如何,不确定这是否是正确的术语。。。如果没有,请纠正我。

感谢

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

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