$arrayname[item]=value 与 $arrayname[item]=value 的区别

php中文网
发布: 2016-06-20 12:43:51
原创
1327人浏览过

在读wordpress taxonomy.php 源代码时,遇到数组的创建问题,概括起来就是:
$arrayname[item]=value 与 $arrayname[item][]=value 有什么区别吗?在这个例子中,其实就是 数/值交换了下位置,是吗? 请达人指教。
function _get_term_hierarchy( $taxonomy ) 中:

$children = array();

        $terms = get_terms($taxonomy, array('get' => 'all', 'orderby' => 'id', 'fields' => 'id=>parent'));

        foreach ( $terms as $term_id => $parent ) {

                if ( $parent > 0 )

                         $children[$parent][] = $term_id;

        }

在  function get_terms( $taxonomies, $args = '' )中:

 $_terms = array();

        if ( 'id=>parent' == $_fields ) {

                foreach ( $terms as $term ) {

                 $_terms[ $term->term_id ] = $term->parent;

       }

       }

稿定AI社区
稿定AI社区

在线AI创意灵感社区

稿定AI社区 60
查看详情 稿定AI社区


回复讨论(解决方案)

首先  你[ ] 里面不是变量 需要用引号引起来吧 不然..... $arrayname[item]=value 这个是一维数组 将数组$arrayname 建名为 'item' 的元素的值 为 value  而 $arrayname['item'][] = value   是二维数组 将数组$arrayname['item']的下级数组的当前位置的值设为 value

 $children[$parent][] 
 $children[$parent]=可能是一个数组(子项可能很多啊,可以是一个数组)

     $_terms[ $term->term_id ] = $term->parent;
   $_terms[ $term->term_id ]=只能是一个值(父项只能是一个啊)
对否

$_terms[ $term->term_id ] = $term->parent;
用来收集每个 term_id 的 parent 节点(term_id 是唯一的)

$children[$parent][] = $term_id;
用来聚类子节点

前者是直接赋值。
后者是创建数组,然后追加入最后一个元素。

前者是直接赋值。
后者是创建数组,然后追加入最后一个元素。
--‘创建数组,然后追加入最后一个元素’是什么意思?不理解。
$_terms[ $term->term_id ] = $term->parent;
用来收集每个 term_id 的 parent 节点(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,
                           )
                      )

后者是创建数组,然后追加入最后一个元素。
--‘创建数组,然后追加入最后一个元素’是什么意思?不理解。

对于
foreach ( $terms as $term ) {
     $_terms[ $term->term_id ] = $term->parent;
}
由于赋值是在循环中执行的
如果 $term->term_id 不唯一,即 $term->term_id 重复出现
那么,$_terms[ $term->term_id ] 就是最后一次 相同 $term->term_id 的 $term->parent

最佳 Windows 性能的顶级免费优化软件
最佳 Windows 性能的顶级免费优化软件

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

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

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