Php-foreach排序有三个变量


Php foreach sorting with three variables

我正试图使用foreach循环打印出链接,这些链接在数组中三个变量之一$term->description之后排序。$term->name的值是链接元素内的文本。如何在同一foreach循环中使用第三个变量$term->slug将href属性添加到链接?我曾尝试制作两个独立的数组并使用array_combine,但没有成功。

这是处理两个变量的代码。为了让事情变得清楚,我简单地添加了$term->slug,添加到它想要的位置。

$terms = wp_get_object_terms( $post->ID, $taxonomy );
$a = array();
foreach ($terms as $term ) : 
    $a[] = array( $term->name, $term->description, $term->slug);
endforeach; 

// print_r($a); 
// Array ( [0] => Array ( [0] => Los Angeles [1] => City [2] => los-angeles ) [1] => Array ( [0] => San Francisco [1] => City [2] => san-francisco ) [2] => Array ( [0] => San Diego [1] => City [2] => san-diego ) [3] => Array ( [0] => United States [1] => Country [2] => united-states ) ) 
foreach ($a as $key => $value) {
    $return[$value[1]][] = $value[0];
}   
foreach ($return as $key => $value) {
    echo $key.": <span class='tags'><a href='$term->slug'>".implode('</a></span>,<span class="tags"><a href="$term->slug">', $value)."</a></span>";
}
// Outputs:
// City: Los Angeles  San Fransisco  San Diego
// Country: United States

代码:

<?php
  error_reporting('E_ALL');
  $a = Array(Array("Los Angeles","City","los-angeles"),Array("San Francisco","City","san-francisco"),Array("San Diego","City","san-diego"),Array("United States","Country","united-states"));
  foreach ($a as $key => $value) {
      $return[$value[1]][] = array("name"=>$value[0],"slug"=>$value[2]);
  }   

  foreach ($return as $key => $value) {
    echo $key.":";
      foreach($value as $newvalue){
       echo '<span class="tags"><a href="'.$newvalue["slug"].'">'.$newvalue["name"].'</a>&nbsp;</span>';
    }
    echo "<br>";
  }

输出:

City:<span class="tags"></span><a href="los-angeles">Los Angeles</a>&nbsp;<span class="tags"></span><a href="san-francisco">San Francisco</a>&nbsp;<span class="tags"></span><a href="san-diego">San Diego</a>&nbsp;<br>Country:<span class="tags"></span><a href="united-states">United States</a>&nbsp;<br>