2017-06-05 83 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”