看不懂啊請給小弟我詳細解釋下 - PHP
首頁
- Web開發
- Android
- J2EE
- PHP
- Linux/Unix
- MySql
- C#
- 更多...
當前位置: 代碼迷 » PHP » 看不懂啊請給小弟我詳細解釋下
看不懂啊請給小弟我詳細解釋下
www.MyException.Cn,網友分享於:2014-06-30 瀏覽:3次
看不懂啊,請給我詳細解釋下.
foreach ($categories as $key => $value) {
$upid = $value['upid'];
$categories[$key]['level'] = 0;
if ($upid && isset($categories[$upid])) {
$categories[$upid]['children'][] = $key; // 這個三維數組是什麼意思? 這個$key值是怎麼賦予這個三維數組的/
while ($upid && isset($categories[$upid])) {
$categories[$upid]['allnodes'][] = $key;
$categories[$upid]['count'] += $categories[$key]['count']; //這個又是怎計算的, ??
$categories[$key]['level'] += 1;
$categories[$key]['parent'][$upid] = $categories[$upid]['catname']; //這個,這個也不懂
$upid = $categories[$upid]['upid']; //這個也不懂.
}
$categories[$key]['parent'] = array_reverse($categories[$key]['parent'], true);
}
if ($categories[$key]['level'] == 0) {
$rootcategories[] = $key;
}
}
------解決思路----------------------
$categories[$upid]['children'][] = $key;
例如 $upid=1, $key=2;
$categories[$upid]['children'][] = $key;
等於
$categories[1]['children'] 是一個數組,然後$key作為插入到數組最後。
執行完後
$categories = array(
1 => array(
'children' => array(2)
)
);
categories[$upid]['count'] += $categories[$key]['count'];
等於
categories[$upid]['count'] = categories[$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'] 是應該是兩個數值,所以可以相加。
你可以print_r($categories); 看看$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);
一切淨收眼底
------解決思路----------------------
引用:
學編程,就不能怕動手
在這段代碼的前後分別 print_r($categories);
一切淨收眼底
錯別字哇。。。應該是盡收眼底