如何在php中查找多维数组中的数据?

时间:2013-02-01 19:03:22

标签: php arrays

让我们说,我有类似下面的内容(数量可以变化):

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数量?

1 个答案:

答案 0 :(得分: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);

编辑:

如果您的产品是数据库中的红色,很可能您想要更新数据库中的值,而您提出错误的问题。