首页
学习
活动
专区
工具
TVP
发布
社区首页 >问答首页 >PHP多维数组根据键提取特定值

PHP多维数组根据键提取特定值
EN

Stack Overflow用户
提问于 2018-08-25 04:23:22
回答 1查看 218关注 0票数 0

我正在尝试通过基于键提取特定的数组值来创建一个锚链接。我尝试在for循环中使用foreach循环,但是似乎不起作用。

基于下面的多维数组,我如何遍历每个子数组来创建单独的锚链,例如:

示例:

代码语言:javascript
复制
    /* Array Example */

    array(3) {
          [0]=>
              array(2) {
                ["@attributes"]=>
                    array(1) { 
                        ["id"] => string(1) "2"
                    }
                ["name"]=> string(10) "Mark"
              }
          [1]=>
              array(2) {
                ["@attributes"]=>
                    array(1) {
                      ["id"]=> string(1) "4"
                    }
                ["name"]=> string(8) "John" 
              }
          [2]=>
              array(2) {
                ["@attributes"]=>
                    array(1) {
                      ["id"]=> string(1) "5"
                    }
                ["name"]=> string(10) "Suzy"
              }

    /* Desired Output */

    <a href="example.com?id=2&name=mark"> Mark </a>
    <a href="example.com?id=4&name=john"> John </a>
    <a href="example.com?id=5&name=mark"> Suzy </a>
EN

回答 1

Stack Overflow用户

回答已采纳

发布于 2018-08-25 04:35:28

让我们假设您发布的数组是名为$users的变量的内容。您可以通过执行以下操作来遍历它

代码语言:javascript
复制
foreach ($users as $usr)
{
  $usr['@attributes']['id'];
  $usr['name'];
}

这样,您就可以遍历每个节点,而不必担心索引。

您可以通过多种方式在每个foreach迭代中输出链接。一个完整的例子(允许使用HTML而不转义每个特殊字符)可以是:

代码语言:javascript
复制
<?php
foreach ($users as $usr)
{ ?>
  <a href="example.com?id=<?php echo $usr['@attributes']['id']; ?>&name=<?php echo $usr['name']; ?>"><?php echo $usr['name']; ?></a>

<?php } ?>

虽然它看起来很复杂,但由于有大量的PHP开始和结束标记,因此在几乎没有性能损失的情况下,可以更轻松地处理标记

票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/52011250

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档