PHP - объединить два массива (одинаковой длины) в один ассоциативный?

StackOverflow https://stackoverflow.com/questions/1200885

Вопрос

довольно простой вопрос на самом деле ..

  

Возможно ли в PHP объединить два отдельных массива одинаковой длины в один ассоциативный массив, где значения первого массива используются в качестве ключей в ассоциативном массиве?

Конечно, я мог бы это сделать, но я ищу другую (встроенную) функцию или более эффективное решение ..?

function Combine($array1, $array2) {
    if(count($array1) == count($array2)) {
        $assArray = array();
        for($i=0;$i<count($array1);$i++) {
            $assArray[$array1[$i]] = $array2[$i];
        }
        return $assArray;
    }
}
Это было полезно?

Решение

array_combine ($ keys, $ values)

PS: нажмите на мой ответ! Это также ссылка!

Другие советы

вам нужен array_combine .

<?php
$a = array('green', 'red', 'yellow');
$b = array('avocado', 'apple', 'banana');
$c = array_combine($a, $b);

print_r($c);
?>

Уже есть array_combine функция :

$combined = array_combine($keys, $values);

всем привет, я покажу вам, как объединить 2 массива в один массив

у нас есть 2 массива, и я сделаю из них один массив

 $data_key  = array('key1','key2');
 $data_value = array('val1','val2');

давайте объявим основной массив

$main_array = array();

теперь давайте заполним его двумя массивами

foreach ($data_key as $i => $key) {
         $main_array[$key] = $data_value[$i];
}

теперь давайте посмотрим результат с помощью var_dump ($ main_array);

array(2) { 
["key1"]=> string(4) "val1"
["key2"]=> string(4) "val2" 
}

Я надеюсь, что это может помочь кому-то:)

Лицензировано под: CC-BY-SA с атрибуция
Не связан с StackOverflow
scroll top