日期:2014-05-17  浏览次数:20569 次

求教给一个二维数组增加元素的问题。
<?php

        while(mysql_fetch_array){
                $arr[$key][] = array("value"=>$value);

                if($somecondition){
                        foreach($arr as $k => $v){
                                $arr[$k][] = array("value"=>"");
                        }
                }
        }

?>


有这么一种情况, 循环创建一个二维数组并添加元素, 但是出现某个条件$somecondition的时候,就往数组中每个$key中添加一个value为空的元素。

添加完以后用看,发现增加的为空的元素都跑到了数组的最前面,这是为何? 

怎么才能正确添加啊。
二维数组 PHP

------解决方案--------------------
如果对给出的值没有指定键名,则取当前最大的整数索引值,而新的键名将是该值加一。如果指定的键名已经有了值,则该值会被覆盖。
------解决方案--------------------
思路应该是这样的
while(mysql_fetch_array){
  if($somecondition){ //如果差距太大
    $arr[$key][] = array("value"=>""); //则插入空值,多于一个时用 for 循环
  }
  $arr[$key][] = array("value"=>$value); //加入数据
}