如何将缺失的索引填充为空格,而无需重新编号数组的索引。
**array (size=3)
0 => string '' (length=0)
1 => string 'Man' (length=3)
5 => string 'Mining' (length=6)**
例如,如何通过循环填充缺失索引中的空格,可以是foreach或for循环。
期望的输出:
**array (size=3)
0 => string '' (length=0)
1 => string 'Man' (length=3)
2 => string '' (length=0)
3 => string '' (length=0)
4 => string '' (length=0)
5 => string 'Mining' (length=6)**
答案 0 :(得分:2)
<?php
for($i=0; $i<count($array); $i++){
if(!isset($array[$i]){
$array[$i] = '';
}
}
这很简单,但您应该探索为什么要尝试这样做,并找到更好的解决方案。
答案 1 :(得分:0)
你可以做这样的事情
<?php
$arr = array(0=>1,1=>2,10=>5); // Your array ...
$maxkey = array_search(max($arr),$arr); // Finding the highest key from your array (required to determine the iterations)
for($i=0;$i<$maxkey;$i++)
{
if(!array_key_exists($i,$arr)) // if key exists.. ignore .. else fill the element with space..
{
$arr[$i]='';
}
}
ksort($arr);// sorts the array using keys..
var_dump($arr);
输出:
Array
(
[0] => 1
[1] => 2
[2] =>
[3] =>
[4] =>
[5] =>
[6] =>
[7] =>
[8] =>
[9] =>
[10] => 5
)
答案 2 :(得分:0)
$a1 = array(0 => '', 1 => 'Man', 5 => 'Mining');
$a2 = array_pad(array(), max(array_keys($a1)), '');
$a = $a1 + $a2;