如何在不重新编号数组索引的情况下将缺失的索引填充为空格。
**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)**
<?php
for($i=0; $i<count($array); $i++){
if(!isset($array[$i]){
$array[$i] = '';
}
}
这很简单,但你可能应该探究为什么要这么做,并找到更好的解决方案。
您可以执行类似的操作
<?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
)
使用array_pad
$a1 = array(0 => '', 1 => 'Man', 5 => 'Mining');
$a2 = array_pad(array(), max(array_keys($a1)), '');
$a = $a1 + $a2;