Как я могу создать пару ключей в массиве? - PullRequest
0 голосов
/ 22 июня 2009

У меня есть 2 отдельных массива, один - просто идентификаторы, другой - процентные идентификаторы:

Array
(
    [0] => 3
    [1] => 4
    [2] => 5
    [3] => 6
    [4] => 7
}

Массив процентов:

Array
(
    [0] => 28
    [1] => 39
    [2] => 17
    [3] => 28
    [4] => 23

Так что это закончится как:

Array
    (
        [0] => Array

            (
                 [id] => 3
                 [percent] => 28
             )

и так далее для каждой пары?

Ответы [ 4 ]

1 голос
/ 22 июня 2009

просто переберите элементы массива (0..4) и добавьте элементы в новый массив.

(я не включаю пример кода, потому что это звучит как домашнее задание!)

0 голосов
/ 22 июня 2009

Хорошей идеей может быть использование двух циклов для учета случая, когда массивы не имеют одинаковое число элементов, например:

$ids = array(...);
$percent = array(...);
$combined = array();
foreach($ids as $index => $id) {
    $combined[$index]['id'] = $id;
}
foreach($percent as $index => $percentage) {
    $combined[$index]['percent'] = $percentage;
}
0 голосов
/ 22 июня 2009

AFAIK, вы не можете сделать это тривиальным способом, однако вы можете сделать что-то вроде:

array_combine($ids, $percentages);
0 голосов
/ 22 июня 2009

Я не думаю, что есть какой-то встроенный способ сделать это, поэтому вам придется использовать цикл, такой как ..

$pairs = array();
for($i = 0, $len = count($ids); $i < $len; $i++) {
    $pair = array(
        'id' => $ids[$i],
        'percent' => $percents[$i]
    );

    $pairs[] = $pair;
}
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...