我正处于一个foreach循环中,我被某些东西困住了......
我有这个数组:
if($nr_programare == 1) {
$programare_start_old = strtotime('06:00');
$programare_end_old_stamp = $programare_start_old+($durata*3600);
$programare_end_old = date('H:i', $programare_end_old_stamp);
$data['nr'] = $nr_programare;
$data['sortiment'] = $sortiment;
$data['cantitate'] = $cantitate;
$data['start'] = '06:00';
$data['end'] = $programare_end_old;
$data['realizat'] = $cantitate_realizata;
} else {
end($data);
$programare_start_new = prev($data);
$programare_start_new_stamp = strtotime($programare_start_new);
$programare_end_new_stamp = $programare_start_new_stamp+($durata*3600);
$programare_end_new = date('H:i', $programare_end_new_stamp);
$data['nr'] = $nr_programare;
$data['sortiment'] = $sortiment;
$data['cantitate'] = $cantitate;
$data['start'] = $programare_start_new;
$data['end'] = $programare_end_new;
$data['realizat'] = $cantitate_realizata;
}
我想把它转移到这个数组结构:
array_push($data, array($nr_programare, array($sortiment, $cantitate, $durata, $programare_start_new, $programare_end_old, $cantitate_realizata), $today.' '.$programare_start_new, $today.' '.$programare_end_old));
最终必须看起来像这样:
Array
(
[0] => Array
(
[0] => $nr_programare
[1] => Array
(
[0] => $sortiment
[1] => $cantitate
[2] => $durata
[3] => $programare_start_new
[4] => $programare_end_new
[5] => $cantitate_realizata
)
[2] => 11.03.2015 06:00
[3] => 11.03.2015 10:00
)
[1] => Array
(
[0] => $nr_programare
[1] => Array
(
[0] => $sortiment
[1] => $cantitate
[2] => $durata
[3] => $programare_start_new
[4] => $programare_end_new
[5] => $cantitate_realizata
)
[2] => 11.03.2015 06:00
[3] => 11.03.2015 10:00
)
[2] => Array
(
[0] => $nr_programare
[1] => Array
(
[0] => $sortiment
[1] => $cantitate
[2] => $durata
[3] => $programare_start_new
[4] => $programare_end_new
[5] => $cantitate_realizata
)
[2] => 11.03.2015 06:00
[3] => 11.03.2015 10:00
)
)
等等......我需要做什么?
答案 0 :(得分:0)
$arr=array ()
$last='';
foreach (....) {
if($nr_programare == 1) {
($arr[]= array(
[0] => $nr_programare
[1] => Array
(
[0] => $sortiment
[1] => $cantitate
[2] => $durata
[3] => $programare_start_new
[4] => $programare_end_new
[5] => $cantitate_realizata
)
[2] => 11.03.2015 06:00
[3] => 11.03.2015 10:00
)
)
}else {
($arr[]= array(
[0] => $nr_programare
[1] => Array
(
[0] => $sortiment
[1] => $cantitate
[2] => $durata
[3] => $last
[4] => $programare_end_new
[5] => $cantitate_realizata
)
[2] => 11.03.2015 06:00
[3] => 11.03.2015 10:00
)
)
$last=$programare_end_new;
}
}
然后$arr
将包含您要查找的数组
$ last将在每次循环后更改为最后的$ programare_end_new(其中nr_programare!= 1)。如果在第一次迭代的情况下不希望它为空,则必须更改$ last。= 1