如何在php中为数组_combine填充KEY=>value中的空值

如何在php中为数组_combine填充KEY=>value中的空值,php,array-combine,Php,Array Combine,我希望将键和值与2个数组组合,但这两个数组并不相等 $array1 = array("1","2","3","4","5"); $array2 = array("apple","banana","","dog",""); $key_value = array_combine($array1,$array2); 输出为: array_combine:两个参数的元素数应该相等 但我需要的是 print_r($key_value); array(5) { [1]=> st

我希望将键和值与2个数组组合,但这两个数组并不相等

$array1 = array("1","2","3","4","5");
$array2 = array("apple","banana","","dog","");
$key_value = array_combine($array1,$array2);
输出为:

array_combine:两个参数的元素数应该相等

但我需要的是

print_r($key_value);
array(5) { 
          [1]=> string(5) "apple" 
          [2]=> string(6) "banana" 
          [3]=> string(8) "No Value" 
          [4]=> string(3) "dog" 
          [5]=> string(8) "No Value" 
         }
如果为空,如何执行此操作,请插入无值文本。

您可以通过foreach循环执行此操作:

输出:

Array
(
    [1] => apple
    [2] => banana
    [3] => No Value
    [4] => dog
    [5] => No Value
)
使用数组映射和数组组合

Array
(
    [1] => apple
    [2] => banana
    [3] => No Value
    [4] => dog
    [5] => No Value
)
<?php

$array1 = array("1","2","3","4","5");
$array2 = array("apple","banana","","dog","");

 $array2 = array_map(function($v){
        return (empty($v)) ? "No Value" : $v;
    },$array2);

$key_value = array_combine($array1,$array2);
print_r($key_value);