Как заполнить пустое значение в KEY => VALUE для array_combine в php - PullRequest
0 голосов
/ 27 января 2020

I w * sh для объединения Key и Value с двумя массивами, но оба массива не равны.

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

Как это сделать, если значение равно нулю, вставить текст «без значения».

Ответы [ 2 ]

1 голос
/ 27 января 2020

Вы можете сделать это через foreach l oop:

$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
)

Демо

0 голосов
/ 27 января 2020

использование 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

...