我向数据库发出请求并从中获取以下数据:
array(5){[0] => object(stdClass)#39(3){[“route_id”] => string(4)“1103”[“route_date”] => string(10)“2013-12-24”[“truck_id”] => string(1)“0”} [1] => object(stdClass)#38(3){[“route_id”] => string(4)“1104”[“route_date”] => string(10)“2013-12-25”[“truck_id”] => string(1)“0”} [2] => object(stdClass)#37(3){[“route_id”] => string(4)“1468”[“route_date”] => string(10)“2013-12-25”[“truck_id”] => string(1)“0”} [3] => object(stdClass)#36(3){[“route_id”] => string(4)“1469”[“route_date”] => string(10)“2013-12-25”[“truck_id”] => string(1)“0”} [4] => object(stdClass)#35(3){[“route_id”] => string(4)“1105”[“route_date”] => string(10)“2013-12-26”[“truck_id”] => string(1)“0”}}
从那里,我想使用以下代码将数据重新排列为多维数组:
$i = 0;
$j = 0;
foreach($routes_array as $key => $route)
{
if($route->route_date === $routes_array[$key + 1]->route_date)
{
var_dump($route);
echo("<br/>");
$day[$i][$j] = $route;
echo("assigning rought to i:".$i." j: ".$j);
echo("<br/>");
$j++;
}
else
{
var_dump($route);
echo("<br/>");
$day[$i][$j] = $route;
echo("assigning rought to i:".$i." j: ".$j);
echo("<br/>");
$i++;
$j = 0;
}
}
echo("<br/>");
var_dump($day);
上面代码中echo
的输出是:
object(stdClass)#39(3){[“route_id”] =&gt; string(4)“1103”[“route_date”] =&gt; string(10)“2013-12-24”[“truck_id”] =&gt; string(1)“0”} 分配到i:0 j:0
object(stdClass)#38(3){[“route_id”] =&gt; string(4)“1104”[“route_date”] =&gt; string(10)“2013-12-25”[“truck_id”] =&gt; string(1)“0”} 分配到i:1 j:0
object(stdClass)#37(3){[“route_id”] =&gt; string(4)“1468”[“route_date”] =&gt; string(10)“2013-12-25”[“truck_id”] =&gt; string(1)“0”} 分配到i:1 j:1
object(stdClass)#36(3){[“route_id”] =&gt; string(4)“1469”[“route_date”] =&gt; string(10)“2013-12-25”[“truck_id”] =&gt; string(1)“0”} 分配到i:1 j:2
object(stdClass)#35(3){[“route_id”] =&gt; string(4)“1105”[“route_date”] =&gt; string(10)“2013-12-26”[“truck_id”] =&gt; string(1)“0”} 分配到i:2 j:0
问题是当我做最后一次var_dump
我得到了这个:
array(3){[0] =&gt; int(2)[1] =&gt; array(3){[0] =&gt; object(stdClass)#38(3){[“route_id”] =&gt; string(4)“1104”[“route_date”] =&gt; string(10)“2013-12-25”[“truck_id”] =&gt; string(1)“0”} [1] =&gt; object(stdClass)#37(3){[“route_id”] =&gt; string(4)“1468”[“route_date”] =&gt; string(10)“2013-12-25”[“truck_id”] =&gt; string(1)“0”} [2] =&gt; object(stdClass)#36(3){[“route_id”] =&gt; string(4)“1469”[“route_date”] =&gt; string(10)“2013-12-25”[“truck_id”] =&gt; string(1)“0”}} [2] =&gt; array(1){[0] =&gt; object(stdClass)#35(3){[“route_id”] =&gt; string(4)“1105”[“route_date”] =&gt; string(10)“2013-12-26”[“truck_id”] =&gt; string(1)“0”}}}
您会注意到第一个元素[0][0]
没有第一个对象。
我的代码出了什么问题?
答案 0 :(得分:0)
在 foreach 循环的每次迭代之后(在关闭 foreach 循环的括号之前)检测错误添加var_dump($ day)