【问题标题】:How to fill a empty value in KEY=> VALUE for array_combine in php如何在 KEY=> VALUE 中为 php 中的 array_combine 填充一个空值
【发布时间】:2023-09-26 06:58:01
【问题描述】:

我希望用两个数组来组合键和值,但是两个数组不相等。

$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" 
         }

如果为空怎么办,插入“无值”文本。

【问题讨论】:

    标签: php array-combine


    【解决方案1】:

    你可以通过foreach循环来实现:

    $res = [];
    foreach($array1 as $ind=>$num){
        $res[$num] = $array2[$ind] === "" ? "No Value" : $array2[$ind]; 
    }
    
    print_r($res);
    

    输出:

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

    Demo

    【讨论】:

      【解决方案2】:

      使用array_map()array_combine()

      <?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);
      

      https://3v4l.org/CY4ku

      【讨论】:

        最近更新 更多