分かりません、詳しく教えて下さい。
foreach ($categories as $key => $value) {<br /> $upid = $value['upid'];<br /> $categories[$key]['level'] = 0;<br /> if ($upid && isset($categories[$upid])) {<br /> $categories[$upid]['children'][] = $key; // 这个三维数组是什么意思? 这个$key值是怎么赋予这个三维数组的/<br /> while ($upid && isset($categories[$upid])) {<br /> $categories[$upid]['allnodes'][] = $key;<br /> $categories[$upid]['count'] += $categories[$key]['count']; //这个又是怎计算的, ??<br /> $categories[$key]['level'] += 1;<br /> $categories[$key]['parent'][$upid] = $categories[$upid]['catname']; //这个,这个也不懂<br /> $upid = $categories[$upid]['upid']; //这个也不懂.<br /> }<br /> $categories[$key]['parent'] = array_reverse($categories[$key]['parent'], true);<br /> }<br /> if ($categories[$key]['level'] == 0) {<br /> $rootcategories[] = $key;<br /> }<br />}<br />
ログイン後にコピー
-----解決策------ - ----$categories[$upid]['children'][] = $key;
例: $upid=1, $key=2;
$ category[ $upid]['children'][] = $key;
equal to
$categories[1]['children'] は配列であり、$key が配列の末尾に挿入されます。
実行後
$categories = array(
1 => array(
'children' => array(2)
)
);
カテゴリ[$upid]['count'] = $categories[$key]['count'];
等しい
カテゴリ[$upid]['count'] = カテゴリ[$upid] ['count'] $categories[$key]['count'];
$categories[$key]['parent'][$upid] = $categories[$upid][' catname'];
$upid = $categories[$upid]['upid'];
どちらの文も直接代入です。
-----ソリューションのアイデア----------------------$categories[$upid]['children'][] = xxx は、$categories[$upid]['children'] 配列に新しい要素を挿入することを意味します。
例:
$arr = array('key'=>array());
$arr['key'][] = 1;
$arr['key ' ][] = 2;
$arr['key'][] = 3;
実行後。
$arr = array(
'key' => array( 1 ,2,3)
);
$categories[$upid]['count'] = $categories[$upid]['count'] $categories[$key]['count' ] ;
categories[$upid]['count'] と $categories[$key]['count'] は追加できるように 2 つの値である必要があります。
$categories の内容を確認するには print_r($categories); を実行できます。
$categories[$key]['parent'][$upid] = $categories[$upid]['catname'];
これはもっと簡単かもしれません
$key = 'a';
$upid = 'b';
$categories[$key]['parent'][$upid] = 1;
$categories[$upid]['catname '] = 2;
は
$categories['a']['parent']['b'] = 1;
$categories['b']['catname'] = と同等です。 2 ;
$categories[$key]['parent'][$upid] = $categories[$upid]['catname'] を実行します。
$categories と同等です。 [ 'a']['parent']['b'] = $categories['b']['catname']
だから
$categories[$key]['parent']; [ $upid] = 2;
-----ソリューションのアイデア------ - ----プログラミングを学習するときは、恐れずに始めてください
このコードの前後に Print_r($categories) を配置します。
一目ですべてがわかります
---- --ソリューションのアイデア----------------------
タイプミス。 。 。すべてが見えるはずです