【发布时间】:2011-08-25 13:45:37
【问题描述】:
为什么要运营商
$array['country'][] 返回逻辑上会是什么$array[]['country']?
我要说的是这个。如果要从 MySQL 数组中提取 ['country'] 的每一行的值,[1],[2]...[n],则必须使用
$array['country'][]
尽管它们被排序为
$array['row#']['country']
这是因为 PHP 正在向后读取某些内容,还是因为我只是缺少一些基本的数组信息?
这里有完整的代码
$result = array();
foreach($data as $value){
$array['country'][] = $value['country'];
$array['report'][] = $value['report'];
}
$data = $array;
如果我只是愚蠢,请告诉我......我真的无法理解为什么会这样。
【问题讨论】:
-
在进入
foreach之前你在$data有什么?即 var_dump($data) 是什么样的? -
我现在离开了我的 Linux 机器,但这只是一个基本的 while($row=mysql_fetch_assoc($result)){$data[]=$row;}
-
另外,你为什么将
$result定义为一个空数组,但是,你在其余的代码中没有触及它? -
我想我认为我正在做的让事情变得简单的是定义一个数组,稍后我可以在 while 循环之外使用它。它似乎有效,只是有一些自相矛盾的行为。
-
所以 $data 中的每个元素本身都是一个关联数组,您正试图将其转置到另一个数组,其中列名是键并且每个元素都保存该列的值?我不明白那是什么问题。
标签: php mysql arrays multidimensional-array