PHP foreach 遍历json数据

标签 php json foreach

很长一段时间以来,我第一次使用 json,第一次使用 php,但我在这两个问题上遇到了瓶颈。

我创建了一个带有 json 提要的 javascript 文件,并使用 php 成功解码了它,现在可以访问数据(一次一个项目)但是我在尝试迭代它并吐出时遇到了障碍使用所有数据列出列表项。

如有任何帮助,我们将不胜感激。

josn 看起来像这样:

{
    "data": [
        {
            "name": "name1",
            "alt": "name one",
            "imgUrl": "img/icons/face1.png",
            "linkUrl": "linkurl"
        },
        {
            "name": "name2",
            "alt": "name two",
            "imgUrl": "img/icons/face2.png",
            "linkUrl": "linkurl"
        }
    ]
}

和 php:

<?php
$json_url = "js/tiles/jsonfeed.js";
$json = file_get_contents($json_url);
$links = json_decode($json, TRUE);
?>
<ul>
    <li>
    <a href="<?php echo $links['data'][1]['linkUrl'] ?>"><img scr="<?php echo $links['data'][1]['imgUrl']; ?>" alt="<?php echo $links['data'][1]['alt']; ?>" class="share-icon" /></a>
    </li>
</ul>

现在很明显,这只会获取第二个数组槽中的信息,我知道有一种更有效的方法来编写列表项,而无需跳入和跳出 php,并且很快就会清理干净。

我遇到的问题是试图将其包装在一个 foreach 循环中,以便为 json 提要中的每个项目吐出一个列表项。作为 json 的新手,并且有一段时间没有接触过 php,我很难正确格式化循环并获取适当的数据。

有人可以帮我让它正常工作吗?

谢谢

最佳答案

您只需要 foreach 数据,然后依次处理每个 child :

foreach ($links['data'] AS $d){
    echo $d['linkUrl'];
}

关于PHP foreach 遍历json数据,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/11248019/

相关文章:

PHP/MySQL 分页或 jQuery?

json - 如何有效地加载和处理包含不同的、不断发展的模式的 JSON 文件

arrays - 如何使用嵌套数组解码 JSON 响应数组

javascript - jQuery 中的 for-each 循环等效于什么?

javascript - 对象内部的数组:从另一个对象的数组有条件地更新一个对象的数组

javascript - 如何使用 Ajax 返回的对象

php - 仅当文件路径具有特定扩展名时才显示数组行

php - 无法从 Mysql-PHP 获取所有记录

java - 将 XML 转换为 JSON 忽略属性

来自php数组值的javascript变量声明