wordpress taxonomy.php のソースコードを読んでいると、配列作成の問題に遭遇しました。
$arrayname[item]=value と $arrayname[item][ の違いは何ですか。 ]=値?この例では、実際に数値/値が交換されますね。専門家にアドバイスを求めてください。
function _get_term_hierarchy( $taxonomy ):
$children = array();
$terms = get_terms($taxonomy, array('get' => 'all', ' orderby' => 'id', 'fields' => 'id=>parent'));
foreach ( $term_id => $parent ) {
>関数 get_terms( $taxonomyes, $args = '' ):
$_terms = array();
if ( 'id=>parent' == $_fields ) {
foreach ( $terms as $term ) {
$_terms[ $term->term_id ] = $term->parent;
}
}
ディスカッションへの返信(解決策)
まず第一に、[ ] には変数がありません。引用符で囲む必要があります。そうでない場合は... $arrayname[item]=value これは、という名前の要素の値です。配列 $arrayname の 'item' は value で、 $arrayname['item'][] = value は 2 次元配列です。配列 $arrayname['item'] の下位配列の現在位置の値を設定します。値に $children[$parent][]$_terms[ $term->term_id ] = 値は 1 つだけ指定できます (親は 1 つだけ指定できます)
はい
$_terms[ $term->term_id ] = $term->parent ;
各 term_id の親ノードを収集するために使用されます (term_id は一意です)
$children[$parent][] = $term_id;
子ノードのクラスタリングに使用されます
前者は直接割り当てです。
後者は、配列を作成してから最後の要素を追加します。
前者は直接代入です。
後者は、配列を作成してから最後の要素を追加します。
$_terms[ $term->term_id ] = $term->parent;
各 term_id の親ノードを収集するために使用されます (term_id は一意です)
$children[$parent ] [] = $term_id;
子ノードのクラスタリングに使用されます
---理解できます
$arrayname[item]=value と $arrayname[item][]=value で構成される配列は以下の通りですよね?
$aaa = array (
3=>7,
6=>9 )
$bbb= array (
3=>array(
0 =>8,
1=>4,
最後の要素を追加します。
--「配列を作成して最後の要素を追加する」とはどういう意味ですか?分かりません。
For
foreach ( $terms as $term ) {
$_terms[ $term->term_id ] = $term->parent;
割り当て以降
ループ内で実行 $term->term_id が一意でない場合、つまり $term->term_id が繰り返し出現する場合
その後、 $_terms[ $term->term_id ] が最後に$term->親の同じ $term-> ;term_id