2011-08-13 44 views
0

有人能解释下面代码中发生了什么吗?我了解它直到$categories[$category][] = $row['agency'];行。按类别说明组织结果

$categories = array(); 
while ($row = mysqli_fetch_array($result)) 
{ 
    $category = $row['category']; 
    $categories[$category][] = $row['agency']; 
} 
+1

在一段时间后添加的print_r($类)会告诉你什么在 – 2011-08-13 02:26:38

+0

由于去,但我仍然感到困惑,如何这行'$类别[$类] [] = $行['代理'];'工作。它到底在做什么? – Brandon

回答

1

您从数据库中获取的结果可能:

类别                     局

Security  Police 
Security  CIA 
Security  FBI 
Government Education 
Government Health 
Misc   AnotherAgency 

$ category = $ row ['Category'];从类别结果(即安全,政府,杂项)中获得价值。

之后,分类数组被添加到。它是一个数组数组。因此它为每个类别存储一组代理。

array('Security' => array('Police', 'CIA', 'FBI'), 
     'Government' => array('Education', 'Health'), 
     'Misc'  => array('AnotherAgency')); 
0

$row['agency']是一个载体。它被“推送”到矢量`$ categories [$ category]'上。它等同于行

array_push($categories[$category], $row['agency']);