解决方案 »

  1.   

    $newArr= array();
    $search_date = array(0=>'2014-08-10' ,1=>'2014-08-11');
    $num = 0;
    foreach ($search_date as $k => $v){
        $newArr[$num][$k] = $v;
        $num++;
    }
    var_dump($newArr);
    写着玩的你可以看下思路然后自己去组装。
      

  2.   

    xuzuning老师。是有一个1维数组A,值是日期。
    然后我通过foreach A这个数组。
    将A的值作为条件去数据库取另一些值,这些值是一个列表,可能有几十个甚至几万个。
    我需要将取到的值按顺序存为一个1维的数组。现在遇到的问题是:
    当日期是1时,取到数值列表并存进数组C;
    当日期为2时,又取到一份C。这时,打印C这个数组,数组变成了非1维数组,而是有两个数组。
    如果将C变成一个1维数组,并将多次循环的结果都存进这一个数组?
      

  3.   


    $log_id = array();
     foreach ($search_date as $v) 
                    {
                        //查询当日所有符合条件的id 
                        $sql = "Select distinct log_id from $s where DATE(log_time)='".$v."'";
                        $result=mysql_query($sql,$link);                    //通过一个循环将值存入
                        while($arr = mysql_fetch_assoc($result))
    {
                            $log_id [] = $arr['log_id '];
                        }
      

  4.   

    那么 foreach 结束的时候,$log_id 不就是个一维数组吗?
      

  5.   

    不好意思,我贴全一点。
    //定义日期数组
    $search_date=array();
    //进入FOR循环,从开始时间循环到结束时间
     //转化为UNIX时间戳进行操作
    for($i = strtotime($start_time); $i < strtotime($stop_time)+86400;$i+= 86400)
    {
           $search_date_num =  date('Y-m-d', $i);
           $search_date[]= $search_date_num;
    }//以上,会得到数组$search_date
    //格式为:
    Array ( [0] => 2014-07-21 [1] => 2014-07-22 )//然后:
    $log_id = array();
    $s =' s11';
    foreach ($search_date as $v) 
     {
             //查询当日所有符合条件的id
             $sql = "Select distinct log_id from $s where DATE(log_time)='".$v."'";
             $result=mysql_query($sql,$link);         //通过一个循环将值存入
             while($arr = mysql_fetch_assoc($result))
    {
                    $log_id [] = $arr['log_id '];
            }
    然后我
     print_r($log_id );
    得到以下数组:Array ( [0] => 16777221 [1] => 16777222 [2] => 16777223) 
    Array ( [0] => 26777221 [1] => 26777222 [2] => 26777223) 
    而我想得到这样的数组:
    Array ( [0] => 16777221 [1] => 16777222 [2] => 16777223 [3] => 26777221 [4] => 26777222 [5] => 26777223) 
      

  6.   

    就你贴出的这些代码,$log_id 是不可能为二维数组的
      

  7.   

     不是array_merge,array_merge() 函数把两个或多个数组合并为一个数组,你的不是这个效果。
      

  8.   

    谢谢net8386308,我要的是每次循环产生的数组都按序存入到一个数组,在某一个循环里面是只有一个1维数组的,所以这个循环里面不可能合并。也许可以传值到一个函数里面去合并?但循环的天数不固定,那个函数也不知道该如何写。
      

  9.   

    LZ再仔细分析一下你的代码吧,数组操作没那么复杂,学会调试,用最蠢的"echo"方法去调试,看下你的数据在每一次循环中都发生了什么变化。 从我这里看,你的$log_id不会是一个二维数组的。除非你的$arr['log_id ']本身就是一个一维数组,你自己echo看看吧!