Установить для ключей массива значения других массивов - PHP - PullRequest
3 голосов
/ 26 июля 2011

У меня есть следующее:

([0] => 3 [1] => 2 [2] => 12 [3] => 6 [4] => 8 [5] => 7 [6] => 9 [7] = > 10 [8] => 5 [9] => 4)

Я хочу использовать значение каждого из них в качестве ключа:

([0] => 7 [1] => 2 [2] => 10 [3] => 3 [4] => 5 [5] => 6 [6] => 11 [7] = > 9 [8] => 4 [9] => 8)

Я пробовал это:

foreach ($iOrder as $i)
{
    $pOrder[$i] = $pOrder[$p];

    $p++;
}

Я понял:

([12] => 2 [10] => 6 [5] => 5 [4] => 7)

Есть мысли?

Ответы [ 2 ]

11 голосов
/ 26 июля 2011

Вы имеете в виду

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

array_combine()

0 голосов
/ 11 ноября 2017

Массив Frist, $ arr1 ,
([0] => 3 [1] => 2 [2] => 12 [3] => 6 [4] => 8 [5] => 7 [6] => 9 [7] => 10 [ 8] => 5 [9] => 4)

Второй массив, $ arr2 , ([0] => 7 [1] => 2 [2] => 10 [3] => 3 [4] => 5 [5] => 6 [6] => 11 [7] => 9 [ 8] => 4 [9] => 8)

Если я правильно понял, вы хотите использовать значения $ arr1 в качестве ключей в $ arr2.

$values = array_values($arr1); 

=> Это дает вам значения $ arr1. Вы можете использовать, array_combine($keys, $values);

так что результирующий массив будет,

$result_arr = array_combine(array_values($arr1), array_values($arr2));

Однако он может работать не так, как ожидалось, если количество элементов в двух массивах отличается.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...