2017-02-20 32 views
0

我在mysql中有两个表:属性和选项。php电子商务的多维数组组合

Atributes

Id 
Atribute 

选项

Id 
Idtribute 
Option 

例atributes:

1, Size 
2, Color 
3, other 
4, n... 

实施例选项:

1, 1, S 
2, 1, L 
3, 1, M 
4, 2, Red 
5, 2, Green 
6, 3, One 
7, 3, Two 
8, 3, Three 
9, n, m 

我想要一个字符串输出这样的:

S, Red, One 
S, Red, Two 
S, Red, Three 
S, Green, One 
S, Green, two 
S, Green, three 
L, Red, One 
L, Red, Two 
L, Red, Three 
L, Green, One 
S, Green, two 
S, Green, three 
etc. 

我与递归函数尝试过,但我一直没能做到这一点。 有人可以帮助我吗? THX

+0

你有没有?让我们了解您已经尝试 – RiggsFolly

+0

首先我有一个这样的数组: 阵列 ( [1] =>数组 ( [0] => 3 [1] => 2 ) [3] =>数组 ( [0] => 6 [1] => 7 ) [17] =>数组 ( [0] => 16 [1] => 17 [2] = > 18 ) ) 第一个关键Idatribute,第二个关键自动,和它的Id选项值 –

+0

我想我必须走atributes数组foreach和foreach选项,走下一个属性的下一个选项等。 –

回答

0

在PHP端可以简单地分配多维数组像这样:

$array = new Array(); 

添加元素:

$array['element'] = element; 

其中元件也可以是一个数组。

但是,在SQL站点上,您不应该(但可以)将该数组另存为由某个字符分隔的字符串。你应该遵循关系型方法并保存每个原子值。

+0

谢谢。 对不起,我的错。 我得到的数组没有任何问题,我正在寻找一个递归函数,所以我可以行走数组并获取这个字符串(所有选项属性的组合)。 –

+1

'foreach'走一个数组 – RiggsFolly