1

私は2つの配列を持っています:

最初の1つ :

$positions = array(0 => array(6.35,3.93), 1 => array(16.85,3.93),  2 => array(6.35,10.9),  3 => array(16.85,10.9), 4 => array(6.35,18.48),  5 => array(16.85,18.48),  6 =>a rray(6.35,25.45), 7 => array(16.85,25.45));

二つ目:

   $coupons = Array ( [0] => NGP7xdaERK [1] => LntKT38dXj [2] => UBG2fplvnx [3] => ymMkO6EF16 [4] => zsZCasRWrj [5] => cl6UJ1a7VS [6] => lrjc5vnpl6 [7] => mExuzQBOLs ) ;

これらの2つの配列をマージして、次のようなものにしたいと思います:

array(0 => array(6.35,3.93, NGP7xdaERK ), 1 => array(16.85,3.93, LntKT38dXj ), ...

私はそのような配列の扱いにあまり慣れていません.array_pushとarray_mergeについて聞いたことがあります.キーが追加されないようにするためにforeachループを使用する必要があることは知っていますが、何かを作成する方法がわかりません.具体的なそのような情報^^

皆さん、私を助けてくれませんか? :)

どうもありがとう :)

4

3 に答える 3

2
$newarray = array();
foreach ($positions as $k => $v) {
    array_push($v, $coupons[$k]);
    $newarray[] = $v;
}
于 2013-08-13T02:09:17.977 に答える
2

両方の配列が常に同じ長さであると仮定します。これを使用できます:

$positions = array(0 => array(6.35,3.93), 1 => array(16.85,3.93),  2 => array(6.35,10.9),  3 => array(16.85,10.9), 4 => array(6.35,18.48),  5 => array(16.85,18.48),  6 => array(6.35,25.45), 7 => array(16.85,25.45));

$coupons = array ( 0 => 'NGP7xdaERK', 1 => 'LntKT38dXj', 2 => 'UBG2fplvnx', 3 => 'ymMkO6EF16', 4 => 'zsZCasRWrj', 5 => 'cl6UJ1a7VS', 6 => 'lrjc5vnpl6', 7 => 'mExuzQBOLs' ) ;

$result = array();

foreach($positions as $i=>$pos ) {
    $result[$i] = array_merge($pos, (array)$coupons[$i]);
}

print_r($result);

結果:

Array
(
    [0] => Array
        (
            [0] => 6.35
            [1] => 3.93
            [2] => NGP7xdaERK
        )

    [1] => Array
        (
            [0] => 16.85
            [1] => 3.93
            [2] => LntKT38dXj
        )

    [2] => Array
        (
            [0] => 6.35
            [1] => 10.9
            [2] => UBG2fplvnx
        )

    [3] => Array
        (
            [0] => 16.85
            [1] => 10.9
            [2] => ymMkO6EF16
        )

    [4] => Array
        (
            [0] => 6.35
            [1] => 18.48
            [2] => zsZCasRWrj
        )

    [5] => Array
        (
            [0] => 16.85
            [1] => 18.48
            [2] => cl6UJ1a7VS
        )

    [6] => Array
        (
            [0] => 6.35
            [1] => 25.45
            [2] => lrjc5vnpl6
        )

    [7] => Array
        (
            [0] => 16.85
            [1] => 25.45
            [2] => mExuzQBOLs
        )

)
于 2013-08-13T02:09:54.560 に答える
0
$out = array();
foreach ($positions as $key => $value){
    $out[] = array_merge($value, array($coupons[$key]));
}
print_r($out);
于 2013-08-13T04:43:46.487 に答える