我有這樣的多維數組:移動一個數組的元素從開始到結束
$array48= array(
array("2017-06-30-104",1498858541000,39.3322,-122.9027,2.11,0,"U",36)
);
OUTPUT:
Array (
[0] => Array (
[0] => 2017-06-30-104
[1] => 1498858541000
[2] => 39.3322
[3] => -122.9027
[4] => 2.11
[5] => 0
[6] => U
[7] => 36
)
)
我想移動$array48[0][0]
到結束,i執行此操作:
function id_fine($array_disordinato){
$number= count($array_disordinato);
for($a= 0; $a < $number; $a++){
$element= $array_disordinato[$a][0];
unset($array_disordinato[$a][0]);
array_push($array_disordinato[$a],$element);
}
return $array_disordinato;
}
id_fine($array48);
作品,但我不明白爲什麼輸出是:
Array (
[0] => Array (
[1] => 1498858541000
[2] => 39.3322
[3] => -122.9027
[4] => 2.11
[5] => 0
[6] => U
[7] => 36
[8] => 2017-06-30-104
)
)
每個元素的位置都是錯誤的。它應該是:
Array (
[0] => Array (
[0] => 1498858541000
[1] => 39.3322
[2] => -122.9027
[3] => 2.11
[4] => 0
[5] => U
[6] => 36
[7] => 2017-06-30-104
)
)
一個數字索引數組中的鍵是持久的,就像關聯數組。如果你刪除一個,那麼它就消失了,直到它再次被設置。如果你想要一個_dynamically_索引數組,請看看'array_values()'函數。 – arkascha
'unset($ array_disordinato [$ a] [0]);',記得嗎? ['unset()'](http://php.net/manual/en/function.unset.php)只是刪除了值,它不會重新索引數組;它甚至不知道你所要求的值是否在數組中,它不會在意,因爲它不關心數組。 ['array_push()'](http://php.net/manual/en/function.array-push.php)也不會重新索引數組。它只是找到最大的數字鍵,增加它並將其存儲在那裏。 – axiac