Php 数组似乎删除了第一个元素
我向数据库发出请求,并从中获取以下数据: (5)数组(5)5{[0]=>对象(stdclas类)对象(stdc类)数组(5)数组(5)数组(5)数组(5)数组(5){[0]=>对象(stdc类)对象(stdc类类)及39(3)3){[3)3(3)3)3)3{[“路线及U id”=>字符串(4)4)1103 3 3“[“路线及日期日期日期日期”==>字符串(10)字符串(10)字符串(10)字符串(10)字符串(10)字符串(10)2013-12-12-12-12-24(10)10)2013-12-12-12-24)[[10)4(10)10)3-12-12-12-24”[[[[[[[货车(10)10)2-12-12-24”[[[货车(卡车(卡车(卡车(卡车(卡车(卡车(卡车(id)id)id)id”====>1468“(1)字符串(1)0}[3]==>3个)3.3=>对象(stdclas类)36(3)3{{[3]=>对象(stdclas类)36(3)3{{[路线(id)日期日期日期日期]=>字符串(10)10)10)2013-12-12-25-12-12-12-25“[“卡车(U-id)id”]==>字符串(1)1)1)0.0[3][3][3]=>3]=>3[3[3]=>3]=>3[3]物体(st对象(stdc准准准准准准准准准准准(stdc类(stdc类类)层层)36(3)36(3)36(3)36(3)3{{[3(3)36(3)3)[[[[[[3)3(3)3][“路线路线(3)3]==[路线(路路路路路路 在此基础上,我希望使用以下代码将数据重新排列到多维数组中:Php 数组似乎删除了第一个元素,php,arrays,multidimensional-array,Php,Arrays,Multidimensional Array,我向数据库发出请求,并从中获取以下数据: (5)数组(5)5{[0]=>对象(stdclas类)对象(stdc类)数组(5)数组(5)数组(5)数组(5)数组(5){[0]=>对象(stdc类)对象(stdc类类)及39(3)3){[3)3(3)3)3)3{[“路线及U id”=>字符串(4)4)1103 3 3“[“路线及日期日期日期日期”==>字符串(10)字符串(10)字符串(10)字符串(10)字符串(10)字符串(10)2013-12-12-12-12-24(10)10)2013-12
$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);
$i=0;
$j=0;
foreach($routes\u数组作为$key=>$route)
{
如果($route->route\u date===$routes\u数组[$key+1]->route\u date)
{
var_dump($路线);
回声(
);
$day[$i][$j]=$route;
echo(“将粗糙度分配给i:.$i.j:.$j”);
回声(
);
$j++;
}
其他的
{
var_dump($路线);
回声(
);
$day[$i][$j]=$route;
echo(“将粗糙度分配给i:.$i.j:.$j”);
回声(
);
$i++;
$j=0;
}
}
回声(
);
var_dump(天);
上述代码中回声的输出为:
对象(stdClass)#39(3){[“路线id”]=>string(4)“1103”[“路线日期”]=>string(10)“2013-12-24”[“卡车id”]=>string(1)“0”}
将粗糙度指定给i:0 j:0
对象(stdClass)#38(3){[“路线id”]=>string(4)“1104”[“路线日期”]=>string(10)“2013-12-25”[“卡车id”]=>string(1)“0”}
为i:1 j:0分配粗糙度
对象(stdClass)#37(3){[“路线id”]=>string(4)“1468”[“路线日期”]=>string(10)“2013-12-25”[“卡车id”]=>string(1)“0”}
将粗糙度分配给i:1 j:1
对象(stdClass)#36(3){[“路线id”]=>string(4)“1469”[“路线日期”]=>string(10)“2013-12-25”[“卡车id”]=>string(1)“0”}
将粗糙度分配给i:1 j:2
对象(stdClass)#35(3){[“路线id”]=>string(4)“1105”[“路线日期”]=>string(10)“2013-12-26”[“卡车id”]=>string(1)“0”}
为i:2 j:0分配粗糙度
问题是,当我执行最后一次var\u转储时,我得到以下结果:
3)3(3)3(3)(3)3(3)数组(3)数组(3){[0][[0][0][0][0][[0][0][0][0][0][0][0][1][1][1][1][1][1][1]=>3数组(3)数组(3)数组(3)数组(3)数组(3)3)3(3)3)3(3)3(3)(3)3)3)3(3)(3)3)(3)3)3(3)(3)3)(3)3)(3)3)(3)(3)(3)3)3)(3)3)(3)3)(3)3)(3)(3)(3)(3)(3)(3)(3)(3)(3)3)(3)(3)(3)(3)(3)(3)(3)(3)(3)(3)(3)(3)(3)(3)(3)(3)(3)(3)(3)(3)3)第(3)款{[“路线id”]=>string(4)“1469”[“路线id”]=>string(10)“2013-12-25”[“卡车id”]=>string(1)“0”}[2]=>array(1){[0]=>object(stdClass){[3]{[“路线id”]=>string(4)“1105”[“路线id”]=>string(10)“2013-12-26”[“卡车id”]=>string(1)“0”}}
您会注意到第一个元素[0][0]
没有第一个对象
我的代码有什么错?要检测错误,请在foreach循环的每次迭代后(在关闭foreach循环的括号之前)添加var_dump($day)