0

たとえば、私は以下のようなものを持っています (数量は可変である可能性があります):

Product Color   XS   S    M    L    XL
   A    RED     100  200  200  200  100
   A    WHITE    50  100  200  100   20
   B    RED      50  200  200  100   50
   B    WHITE   100  200  300  200  100

次のような配列に保存した場合:

$product_array[] = 
    array('product' => 'A', 'color'  => 'RED',
          'XS'      => 100, 'S'      => 200,
          'M'       => 200, 'L'      => 200, 
          'XL' =>100);

サイズの数量を見つけて、指定された製品 ID と色を更新する最も簡単な方法は何ですか? (A, RED) が XS サイズを 10 個販売したとしましょう。

4

1 に答える 1

1

コメントに記載されているように、アイテム名 + 色をインデックスとして使用できます。特定の形式を使用する必要がある場合は、参照の配列を作成して物事を固定できます。

$product_array[] = 
    array('product' => 'A', 'color'  => 'RED',
      'XS'      => 100, 'S'      => 200,
      'M'       => 200, 'L'      => 200, 
      'XL' =>100);
$product_array[] = 
    array('product' => 'B', 'color'  => 'GREEN',
      'XS'      => 100, 'S'      => 200,
      'M'       => 200, 'L'      => 200, 
      'XL' =>100);

foreach($product_array as &$product)
{
    $product_by_name_and_color[$product['product']][$product['color']] =& $product;
}

その後:

$product_by_name_and_color['B']['GREEN']['XS'] += 5;
print_r($product_array);

編集:

製品がデータベースから赤くなっている場合、おそらくデータベースの値を更新したいのですが、間違った質問をしています.

于 2013-02-01T19:15:09.387 に答える