我有一个现有的数组$ cars []。这是我创建数组$ cars []
的方法$cars = array("1" => "Toyota",
"5" => "BMW",
"7" => "Volvo",
"32"=> "Porsche" );
如您所见,数组$ cars []的索引不符合规定。我需要做的是在需要时在数组$ cars []中插入一个数组元素,使其按顺序排列。我需要像这样制作数组$ cars []:
$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()将根据密钥对数组进行排序。
答案 1 :(得分:0)
要将新数据插入现有数组,请使用 -
array_push($cars, $new_value);
然后使用 ksort
对数组进行排序ksort($cars);
这将为您提供正如您所期望的数组
答案 2 :(得分:0)
您可以按键排序数组试试这个
ksort($cars);
答案 3 :(得分: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);
$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开始,你可以改变&#34; min(array_keys($ cars))&#34; in for循环使用&#34; 1&#34;