Maison >développement back-end >tutoriel php >php 给一个有序数组 空的key赋值

php 给一个有序数组 空的key赋值

WBOY
WBOYoriginal
2016-06-23 13:05:271184parcourir

有一个数组=>

$arr = array(	        '0' => 'a value',	        '1' => 'a value',	        '2' => 'a value',	        '4' => 'a value',	        '5' => 'a value',	        '7' => 'a value',	        '10' => 'a value',	        '11' => 'a value',	        '12' => 'a value',	    );

同时,我有一个 
$num
   
 假定 
$num=15


此时,我想得到这个数组=>
$arr = array(	        '0' => 'a value',	        '1' => 'a value',	        '2' => 'a value',	        '3' => 'kong',	        '4' => 'a value',	        '5' => 'a value',	        '6' => 'kong',	        '7' => 'a value',	        '8' => 'kong',	        '9' => 'kong',	        '10' => 'a value',	        '11' => 'a value',	        '12' => 'a value',	        '13' => 'kong',	        '14' => 'kong',	        '15' => 'kong',	    );



请问有什么便捷、快速的方法,生成这个数组


回复讨论(解决方案)

$arr = array(	'0' => 'a value',	'1' => 'a value',	'2' => 'a value',	'4' => 'a value',	'5' => 'a value',	'7' => 'a value',	'10' => 'a value',	'11' => 'a value',	'12' => 'a value',);$num=15;$tmp = range(0,$num);$keys = array_keys($arr);$kongArr = array_fill_keys(array_diff($tmp,$keys),'kong');//因为是数字索引,若使用 array_merge 会重新索引,不能排序foreach($kongArr as $k=>$v){	$arr[$k] = $v;}ksort($arr);echo "<pre class="brush:php;toolbar:false">";print_r($arr);echo "
";/*Array(    [0] => a value    [1] => a value    [2] => a value    [3] => kong    [4] => a value    [5] => a value    [6] => kong    [7] => a value    [8] => kong    [9] => kong    [10] => a value    [11] => a value    [12] => a value    [13] => kong    [14] => kong    [15] => kong)*/

没那么复杂

$arr = array(  '0' => 'a value',  '1' => 'a value',  '2' => 'a value',  '4' => 'a value',  '5' => 'a value',  '7' => 'a value',  '10' => 'a value',  '11' => 'a value',  '12' => 'a value',);$num = 15;$b = $arr + array_fill(0, $num+1, 'kong');ksort($b);print_r($b);
Array(    [0] => a value    [1] => a value    [2] => a value    [3] => kong    [4] => a value    [5] => a value    [6] => kong    [7] => a value    [8] => kong    [9] => kong    [10] => a value    [11] => a value    [12] => a value    [13] => kong    [14] => kong    [15] => kong)

Déclaration:
Le contenu de cet article est volontairement contribué par les internautes et les droits d'auteur appartiennent à l'auteur original. Ce site n'assume aucune responsabilité légale correspondante. Si vous trouvez un contenu suspecté de plagiat ou de contrefaçon, veuillez contacter admin@php.cn