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] 삭제
몇 마디 만하겠습니다