簡體   English   中英

PHP多維數組基於鍵提取特定值

[英]PHP Multidimensional Array Extract Specific Values Based Upon Key

我試圖通過基於鍵提取特定的數組值來創建錨鏈接。 我試過在for循環中使用foreach循環,但是似乎不起作用。

基於下面的多維數組,如何遍歷每個子數組以創建單獨的錨鏈接,例如:

例:

    /* 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>

假設您發布的數組是名為$ users的變量的內容。 您可以通過做

foreach ($users as $usr)
{
  $usr['@attributes']['id'];
  $usr['name'];
}

這樣,您可以遍歷每個節點而不必擔心索引。

您可以通過幾種方式在每個foreach迭代中輸出鏈接。 一個完整的示例(允許使用HTML而不必轉義每個特殊字符)可以是:

<?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的開始和結束標簽,但它使標記更容易,幾乎沒有性能損失

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM