【发布时间】:2015-04-14 08:19:39
【问题描述】:
这里已经有一些这样的帖子,但没有一个对我有帮助, 我有一个看起来像这样的示例数组
$array = array(
array(
'label' => 'test 1-1',
'pricing_value' => '10',
'attr_id' => '1',
'selectionId' => '2',
'required' => '1'
),
array(
'label' => 'test 1-2',
'pricing_value' => '10',
'attr_id' => '1',
'selectionId' => '12',
'required' => '1'
),
array(
'label' => 'test 1-3',
'pricing_value' => '10',
'attr_id' => '1',
'selectionId' => '132',
'required' => '1'
),
array(
'label' => 'test 2-1',
'pricing_value' => '10',
'attr_id' => '2',
'selectionId' => '11',
'required' => '0'
),
array(
'label' => 'test 2-2',
'pricing_value' => '10',
'attr_id' => '1',
'selectionId' => '14',
'required' => '0'
),
array(
'label' => 'test 2-3',
'pricing_value' => '10',
'attr_id' => '2',
'selectionId' => '12',
'required' => '0'
),
);
输出应该是这样的
array (
array (
'label' => "test 1-1 + test 2-1",
'price-value' => '20',
'required' => '1'
)
)
等等…… 但没有任何重复,如 test 2-1 + test 1-1 将是重复的 数组被分组为“attr_id”,可以有 100 个类似 Sesction_id 是这个元素 id,它们在一个 attr_id 中不会是相同的部分 id,但如果 attr_id 不同,它们可以相同。希望有意义。
如果需要设置为 0,那么它们应该是 2options 有这个和没有它
比如“required1 + required2 + not required3”和“required1 + required2”
我在排序数组方面真的很糟糕,有人可以帮我解决这个问题吗?
编辑:
所有这些选项都来自合并为一个的两个数组 每个数组 id 都在 attr_id 中,因此在一个变体中不能有相同的对象,比如不能有 test 1-1 + test 1-2
代码需要输出所有可能的变化 在这个例子中,它会像
test 1-1 + test 2-1 |
test 1-1 + test 2-2 |
test 1-1 + test 2-3 |
test 1-2 + test 2-1 |
test 1-2 + test 2-2 |
test 1-2 + test 2-3 |
test 1-3 + test 2-1 |
test 1-3 + test 2-2 |
test 1-3 + test 2-3 |
$array = array(
array(
'label' => 'test 1-1 + test 2-1',
'pricing_value' => '20'
),
array(
'label' => 'test 1-1 + test 2-2',
'pricing_value' => '20'
),
array(
'label' => 'test 1-1 + test 2-3',
'pricing_value' => '20'
),
array(
'label' => 'test 1-2 + test 2-1',
'pricing_value' => '20'
),
array(
'label' => 'test 1-2 + test 2-2',
'pricing_value' => '20'
),
array(
'label' => 'test 1-2 + test 2-3',
'pricing_value' => '20'
),
array(
'label' => 'test 1-3 + test 2-1',
'pricing_value' => '20'
),
array(
'label' => 'test 1-3 + test 2-2',
'pricing_value' => '20'
),
array(
'label' => 'test 1-3 + test 2-3',
'pricing_value' => '20'
),
array(
'label' => 'test 1-1',
'pricing_value' => '10'
),
array(
'label' => 'test 1-2',
'pricing_value' => '10'
),
array(
'label' => 'test 1-3',
'pricing_value' => '10'
),
);
而且还需要 test-1 所有元素,因为不需要 test-2
test 1-1 |
test 1-2 |
test 1-3 |
希望对你有帮助
【问题讨论】:
-
你想通过 attr_id 过滤这个数组吗?是吗??
-
在这个例子中有两个可更改的选项,它们的 id 在 attr_id 中