我正在尝试通过foreach循环将2D数组中的值推入,这样做时会得到一些奇怪的结果。请看一下代码:
foreach( $terms as $term ) {
if(is_parent_tax($term)==TRUE){
$parent_term = get_term( $term->term_id, $taxonomy_name );
if(!in_array($parent_term->name,$term_list)){
$term_list[]['name'] = $parent_term->name ;
$term_list[]['slug'] = $parent_term->slug;
}
}
}
通过print_r
测试,我得到以下结果:
Array ( [0] => Array ( [name] => Category 2 ) [1] => Array ( [slug] => category-2 ) [2] => Array ( [name] => Category 3 ) [3] => Array ( [slug] => category-3 ) [4] => Array ( [name] => Category 4 ) [5] => Array ( [slug] => category-4 ) [6] => Array ( [name] => Category 2 ) [7] => Array ( [slug] => category-2 ) [8] => Array ( [name] => Category 1 ) [9] => Array ( [slug] => category-1 ) )
我想要的是:
Array ( [0] => Array ( [name] => Category 2 ) [0] => Array ( [slug] => category-2 ) [1] => Array ( [name] => Category 3 ) [1] => Array ( [slug] => category-3 ) [2] => Array ( [name] => Category 4 ) [2] => Array ( [slug] => category-4 ) [3] => Array ( [name] => Category 2 ) [3] => Array ( [slug] => category-2 ) [4] => Array ( [name] => Category 1 ) [4] => Array ( [slug] => category-1 ) )
由于没有人解释为什么它不起作用。
您对[]的使用不正确。您正在使它创建另一个索引。请参阅Barth的答案,尽管我将使用:
$term_list[] = array('name' => $parent_term->name, 'slug' => $parent_term->slug);
:)
本文收集自互联网,转载请注明来源。
如有侵权,请联系[email protected] 删除。
我来说两句