看不懂啊請給小弟我詳細解釋下

來源:互聯網
上載者:User
看不懂啊請給小弟我詳細解釋下 - 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);
一切淨收眼底


錯別字哇。。。應該是盡收眼底
  • 聯繫我們

    該頁面正文內容均來源於網絡整理,並不代表阿里雲官方的觀點,該頁面所提到的產品和服務也與阿里云無關,如果該頁面內容對您造成了困擾,歡迎寫郵件給我們,收到郵件我們將在5個工作日內處理。

    如果您發現本社區中有涉嫌抄襲的內容,歡迎發送郵件至: info-contact@alibabacloud.com 進行舉報並提供相關證據,工作人員會在 5 個工作天內聯絡您,一經查實,本站將立刻刪除涉嫌侵權內容。

    A Free Trial That Lets You Build Big!

    Start building with 50+ products and up to 12 months usage for Elastic Compute Service

    • Sales Support

      1 on 1 presale consultation

    • After-Sales Support

      24/7 Technical Support 6 Free Tickets per Quarter Faster Response

    • Alibaba Cloud offers highly flexible support services tailored to meet your exact needs.