Nasıl bir dizide anahtarlarını çifti?

4 Cevap php

Ben bir diğer yüzde kimlikleri sadece kimlikleri, olduğu, 2 ayrı diziler var:

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

Yüzde dizi:

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

Yani gibi sona ereceğini:

Array
    (
        [0] => Array

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

ve böylece çiftlerinin her biri için?

4 Cevap

dizinin elemanları aracılığıyla sadece döngü (0 .. 4) ve yeni diziye öğeler eklemek.

(Bu bir ödev gibi geliyor çünkü ben, örnek kod dahil değilim!)

Bunu yapmak için herhangi bir yerleşik yolu var sanmıyorum, bu yüzden gibi bir döngü kullanmak gerekir ..

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

    $pairs[] = $pair;
}

İyi bir fikir diziler böyle eşit üye sayıları yok durum için hesap iki döngüler kullanmak olabilir:

$ids = array(...);
$percent = array(...);
$combined = array();
foreach($ids as $index => $id) {
    $combined[$index]['id'] = $id;
}
foreach($percent as $index => $percentage) {
    $combined[$index]['percent'] = $percentage;
}

AFAIK önemsiz bir şekilde bunu yapamam, ancak sizin gibi bir şey yapabilirsiniz:

array_combine($ids, $percentages);