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

WBOY
Freigeben: 2016-06-20 12:43:51
Original
1205 Leute haben es durchsucht

在读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;

       }

       }


回复讨论(解决方案)

首先  你[ ] 里面不是变量 需要用引号引起来吧 不然..... $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

Quelle:php.cn
Erklärung dieser Website
Der Inhalt dieses Artikels wird freiwillig von Internetnutzern beigesteuert und das Urheberrecht liegt beim ursprünglichen Autor. Diese Website übernimmt keine entsprechende rechtliche Verantwortung. Wenn Sie Inhalte finden, bei denen der Verdacht eines Plagiats oder einer Rechtsverletzung besteht, wenden Sie sich bitte an admin@php.cn
Beliebte Tutorials
Mehr>
Neueste Downloads
Mehr>
Web-Effekte
Quellcode der Website
Website-Materialien
Frontend-Vorlage
Über uns Haftungsausschluss Sitemap
Chinesische PHP-Website:Online-PHP-Schulung für das Gemeinwohl,Helfen Sie PHP-Lernenden, sich schnell weiterzuentwickeln!