【发布时间】:2010-12-28 07:13:38
【问题描述】:
我有一个如下所示的 PHP 数组:
Array
(
[340] => Array
(
[1] => 1
[2] => 18
[3] => 23
)
[341] => Array
(
[1] => 1
[2] => 17
[3] => 23
)
[342] => Array
(
[1] => 1
[2] => 16
[3] => 23
)
[343] => Array
)
数组实际上更长,包含大约 40 个元素。会有其他数组包含不同数量的子元素。数组格式为
productID => array (
$attributeID => attributeValueID,
$attributeID => attributeValueID,
$attributeID => attributeValueID
)
我需要的是一个显示所有其他属性的有效值的数组。输出数组可能类似于
Array
(
18 => array(
1 => array(
11, 12, 13, 14, 15
)
2 => array(
19, 20, 21, 22
)
)
19 => array(
1 => array(
11, 13, 14, 15
)
2 => array(
21, 22
)
)
这个数组的格式是
attributeValueID => array(
attributeID => attributeValues,
attributeID => attributeValues
)
我一直在使用一些递归函数,但我只能获得所有值之间所有可能组合的列表,这不是我需要的。任何帮助将不胜感激。
澄清我所说的“有效”值的含义:这里的 1、2 和 3 值分别代表颜色、大小和长度。这里的最终目标是创建一系列 javascript 数组,当用户选择值时,我将使用这些数组来更新页面上的选项。例如,当他们选择黑色时,我需要更新页面上的尺寸和长度,以仅反映黑色可用的尺寸和长度。我可以手动创建数组,但这不是一个好的解决方案。
【问题讨论】:
-
什么构成有效值?
-
我编辑了我的问题以澄清什么是有效值。
-
productID 应该在输出数组中吗?而不是属性值
-
虽然以下解决方案之一可能有效,但我建议您创建一些类来更好地组织它...