看不懂啊请给小弟我详细解释下

php中文网
发布: 2016-06-13 12:01:05
原创
1189人浏览过
MyException - 代码迷
首页
  • Web开发
  • Android
  • J2EE
  • PHP
  • Linux/Unix
  • MySql
  • C#
  • 更多...
当前位置: 代码迷 » PHP » 看不懂啊请给小弟我详细解释下

看不懂啊请给小弟我详细解释下

www.MyException.Cn,网友分享于:2014-06-30   浏览:3次
看不懂啊,请给我详细解释下.
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;
$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);一切净收眼底


错别字哇。。。应该是尽收眼底
最佳 Windows 性能的顶级免费优化软件
最佳 Windows 性能的顶级免费优化软件

每个人都需要一台速度更快、更稳定的 PC。随着时间的推移,垃圾文件、旧注册表数据和不必要的后台进程会占用资源并降低性能。幸运的是,许多工具可以让 Windows 保持平稳运行。

下载
来源:php中文网
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系admin@php.cn
最新问题
开源免费商场系统广告
热门教程
更多>
最新下载
更多>
网站特效
网站源码
网站素材
前端模板
关于我们 免责申明 举报中心 意见反馈 讲师合作 广告合作 最新更新
php中文网:公益在线php培训,帮助PHP学习者快速成长!
关注服务号 技术交流群
PHP中文网订阅号
每天精选资源文章推送

Copyright 2014-2025 https://www.php.cn/ All Rights Reserved | php.cn | 湘ICP备2023035733号