Php 向数组中添加要在另一个数组中使用的元素

Php 向数组中添加要在另一个数组中使用的元素,php,arrays,loops,Php,Arrays,Loops,我有以下代码: query_posts( array( "tax_query" => array( array( "taxonomy" => "country", "field" => "slug", "terms" => array( "usa", "canada" ) ) ) ) ); 我在上面还有一个循环来识别所有类似的术语: $term_list = get_the_ter

我有以下代码:

query_posts( array(
   "tax_query" => array(
      array(
         "taxonomy" => "country",
         "field" => "slug",
         "terms" => array( "usa", "canada" )
      )
   )
) );
我在上面还有一个循环来识别所有类似的术语:

$term_list = get_the_terms($post->ID,$taxonomy);
    foreach($term_list as $term_single) {
        echo $term_single->slug; //do something here
    }

我想用我的foreach循环的结果动态地替换美国和加拿大。我该怎么做呢?

你应该这样做

function getTermsForQuery($post) {
    $result = [];
    $term_list = get_the_terms($post->ID,$taxonomy);
    foreach($term_list as $term_single) {
        $result[] =  $term_single->slug; //do something here
    }
    return $result;
}

query_posts( array(
   "tax_query" => array(
      array(
         "taxonomy" => "country",
         "field" => "slug",
         "terms" => getTermsForQuery($post)
      )
   )
) );
无foreach循环

带foreach循环


我创建了3个数组,然后填充每个数组并插入到另一个数组中

      //for loop, store the values that you want
      $subArray2 = array();
      for($row = 0;$row < 3;$row++){
          $subArray2[$row] = "Value_$row";
      }

      $subArray1 = array("taxonomy" => "country","field" => "slug","terms" => $subArray2);

      $arr = array("tax_query" => $subArray1);

      //var_dump($arr);

      foreach($arr as $val){
         foreach($val as $val1){
            if(is_array($val1)){
               foreach($val1 as $val2){
                  echo "$val2<br>";
               }
            }else{
               echo $val1 . "<br>";
            }
         }
      }
$term_list = get_the_terms($post->ID,$taxonomy);

foreach($term_list as $term_single) {
        $cat_terms[] = $term_single;
}
query_posts( array(
   "tax_query" => array(
      array(
         "taxonomy" => "country",
         "field" => "slug",
         "terms" => $cat_terms
      )
   )
) );
      //for loop, store the values that you want
      $subArray2 = array();
      for($row = 0;$row < 3;$row++){
          $subArray2[$row] = "Value_$row";
      }

      $subArray1 = array("taxonomy" => "country","field" => "slug","terms" => $subArray2);

      $arr = array("tax_query" => $subArray1);

      //var_dump($arr);

      foreach($arr as $val){
         foreach($val as $val1){
            if(is_array($val1)){
               foreach($val1 as $val2){
                  echo "$val2<br>";
               }
            }else{
               echo $val1 . "<br>";
            }
         }
      }