需要有关阵列的帮助

时间:2009-09-30 10:07:52

标签: php multidimensional-array

做什么

$categories[$id] = array('name' => $name, 'children' => array());     

$categories[$parentId]['children'][] = array('id' => $id, 'name' => $name); 

意思?

非常感谢。

2 个答案:

答案 0 :(得分:1)

  

如何格式化输出以便我可以了解返回的结果?

  1. 您可以使用forforeach循环数组,将代码格式化为表格。如果你没有掌握循环,请阅读每篇文档。
  2.   

    2.什么

    $categories[$id] = array('name' => $name, 'children' => array());
    
         

    $categories[$parentId]['children'][] = array('id' => $id, 'name' => $name);
    

    第一行将关联数组分配给$ categories数组的另一个元素。例如,如果您想要ID为6的类别的名称,它将如下所示:

    $categories[6]['name']
    

    第二行执行类似的操作,除非您在PHP中使用数组时,可以使用[]运算符自动将另一个元素添加到具有下一个可用索引的数组中。

      

    。=?

    的用途是什么

    这是连接赋值运算符。以下两个陈述是相同的:

    $string1 .= $string2
    $string1 = $string1 . $string2
    

答案 1 :(得分:0)

这些都与嵌套数组有关。 第一个例子:

$categories[$id] = array('name' => $name, 'children' => array()); 

$ categories是一个数组,您将密钥ID设置为包含另一个数组,该数组包含名称和另一个数组。你可以用这个来完成类似的东西:

$categories = array(
   $id => array(
      'name' => $name,
      'children' => array()
   )
)

第二个是从第一个示例设置children数组。当数组内部有数组时,可以使用多个索引。然后在该数组中设置ID和Name。这是另一种看待示例#2的方法:

   $categories = array(
       $parentID => array(
           'children' => array(
                'id' = $id,
                'name' => $name
            )
       )
   )

注意:我的两种重写方式在功能上与您发布的内容完全相同,我只是希望这样可以更容易地看到正在发生的事情。