从头到尾移动数组的元素

Bor*_*rja 1 php arrays multidimensional-array

我有这个多维数组:

$array48= array(
 array("2017-06-30-104",1498858541000,39.3322,-122.9027,2.11,0,"U",36)
);
Run Code Online (Sandbox Code Playgroud)

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                       
                ) 
      ) 
Run Code Online (Sandbox Code Playgroud)

我想移到$array48[0][0]最后,我这样做:

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);
Run Code Online (Sandbox Code Playgroud)

有效,但我不明白为什么OUTPUT是:

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 
                ) 
      ) 
Run Code Online (Sandbox Code Playgroud)

每个元素的位置都是错误的.它应该是:

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                     
                ) 
      ) 
Run Code Online (Sandbox Code Playgroud)

Tha*_*lan 6

我建议你使用array_shift你的第一个到最后一个:

array_push($array48[0], array_shift($array48[0]));
Run Code Online (Sandbox Code Playgroud)

DEMO

或使用:

$array48[0][]= array_shift($array48[0]);
Run Code Online (Sandbox Code Playgroud)

感谢Andreas的评论!

单衬里可以做你想要的:

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
        )

)
Run Code Online (Sandbox Code Playgroud)

因此,无需复杂的功能id_fineunsetarray_values


来自DOCS:

array_shift()将数组的第一个值移开并返回它,将数组缩短一个元素并将所有内容向下移动.将修改所有数值数组键以从零开始计数,而不会触及文字键.