0

私のプログラムには 5 つの異なる配列があります。すべての配列は同じ長さです。この例では、すべての配列に 6 つの項目が含まれているとします。最初の項目 array1[0] は、すべてのインデックス 0 の他の配列の値とペアにする必要があります。したがって、すべてのインデックス 0 の配列、すべてのインデックス 1、2、3、4、およびインデックス 5 の配列を取得します。 .

どうすればこれを行うことができますか?

詳細を追加しました: shopping_cart 内のアイテムの情報を含む次の配列があります。

$nameArray - contains the names of the products in the basket
$productIdArray - contains the id_numbers of the products in the basket
$priceArray - array of the prices for each item in the basket
$quantityArray - array which holds the quantity of each item in the basket

などなど

出力を変更したいので、ajax 呼び出しで送信するためのすべての値を持つ単一の製品を表す配列を含む多次元配列を送信できます...

それが理にかなっていることを願っています。:)

4

2 に答える 2

1

プロセスを説明するには十分すぎるはずなので、4 つのアレイのみを使用しました。ここにはもっと洗練された解決策があるかもしれませんが、もう少し考える必要があります。

重要なポイントは、このような問題をテーブルとして考えるのが最も簡単だと思うということです。あなたのインスタンスは実際には比較的単純です。行の配列があり、それらを列の配列に変換したいとします。私の解決策をチェックしてください。

<?php

$one = array('brown', 'green', 'red', 'yellow', 'orange', 'purple');
$two = array('cupcake', 'honeycomb', 'icecream', 'chocolate', 'jellybean', 'milkshake');
$three = array('monday', 'tuesday', 'wednesday', 'thrusday', 'friday', 'saturday');
$four = array('january', 'february', 'march', 'april', 'august', 'september');

//put all of your arrays into one array for easier management
$master_horizontal = array($one, $two, $three, $four);
$master_vertical = array();

foreach ($master_horizontal as $row) {
  foreach ($row as $key => $cell) {
    $master_vertical[$key][] = $cell;
  }
}

echo "<PRE>";
print_r($master_vertical);

戻り値...

Array
(
    [0] => Array
        (
            [0] => brown
            [1] => cupcake
            [2] => monday
            [3] => january
        )

    [1] => Array
        (
            [0] => green
            [1] => honeycomb
            [2] => tuesday
            [3] => february
        )

    [2] => Array
        (
            [0] => red
            [1] => icecream
            [2] => wednesday
            [3] => march
        )

    [3] => Array
        (
            [0] => yellow
            [1] => chocolate
            [2] => thrusday
            [3] => april
        )

    [4] => Array
        (
            [0] => orange
            [1] => jellybean
            [2] => friday
            [3] => august
        )

    [5] => Array
        (
            [0] => purple
            [1] => milkshake
            [2] => saturday
            [3] => september
        )

)
于 2013-09-20T23:30:40.173 に答える
0

今のところあなたが書いたコードを投稿していないので、一般的な説明をします。これは宿題の問題のように見えるので、実用的な解決策を投稿することは控えます.

let there be N arrays with variable number of elements in it.
Let Answer_Array be an array of arrays. 
loop i=0 to N
    tmpArray = Arrays[i]
    loop j=0 to length(N)-1
        add tmpArray[j] to Answer_Array[j]
    end loop
end loop

元の入力を配列の配列に結合し、最終的な出力を配列の配列に格納する場合、これは簡単です.php.

于 2013-09-20T23:34:28.737 に答える