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 回答