2017-06-05 109 views
-1

我有一個現有的數組$ car []。下面是如何創建數組$汽車[]PHP:操縱現有陣列

$cars = array("1" => "Toyota", 
       "5" => "BMW", 
       "7" => "Volvo", 
       "32"=> "Porsche"); 

正如你所看到的,數組$汽車[]的指標是不是爲了。我需要做的是在需要的時候在數組$ car []中插入一個數組元素,使其成爲有序。我需要這樣做陣列$汽車[]:

$cars = array("1" => "Toyota", 
       "2"=> "NULL", 
       "3"=> "NULL", 
       "4"=> "NULL", 
       "5" => "BMW", 
       "6"=> "NULL", 
       "7" => "Volvo", 
       "8"=> "NULL", 
       . 
       . 
       . 
       "31"=> "NULL", 
       "32"=> "Porsche" 
       . 
       . 
       . 
       "48"=> "NULL" ); 

共有48輛汽車。感謝你們!

+0

你的老師有沒有給你提示?你在這方面做了什麼工作?你有多遠?你卡在哪裏? –

回答

0

嘗試這個 -

function addKeyArray(&$array) 
{ 
    end($array); 
    $max = key($array); //Get the final key as max or you can directly pass value like $max = 48; 
    for($i = 0; $i < $max; $i++) 
    { 
     if(!isset($array[$i])) 
     { 
      $array[$i] = 'NULL'; 
     } 
    } 
} 

addKeyArray($cars); 
ksort($cars); 
echo "<pre>"; print_r($cars); 

釋:

addKeyArray()將循環,並檢查是否有鍵小姐那麼它將設置鍵和ksort()後會根據數組進行排序關鍵。

+0

這是有效的!謝謝你,先生@ shubbam715 –

0

要插入新的數據到現有的陣列中使用 -

array_push($cars, $new_value); 

然後用ksort

ksort($cars); 

這會給你的數組排序的數組,你期待

0

您可以通過按鍵對數組進行排序試試

ksort($cars); 
0

這段代碼將幫助您

$cars = array("1" => "Toyota", 
       "5" => "BMW", 
       "7" => "Volvo", 
       "32"=> "Porsche"); 
for($i=min(array_keys($cars));$i<=max(array_keys($cars));$i++){ 
    if(!isset($cars[$i])){ 
     $cars[$i]="NULL"; 
    } 
} 
ksort($cars); 

如果你想開始索引1每次,你可以改變「分(array_keys($車))」,在for循環「1」