我有一个小的PHP脚本,它接受产品xml值并将它们写入csv文件,但我遇到了产品选项的问题。 我从xml中提取了每个产品的选项,并将值添加到这样的数组中。
颜色[1]颜色[2]颜色[3]
尺寸[1]尺寸[2]尺寸[3]
现在我需要制作看起来像这样的csv;
颜色[1],尺寸[1]
颜色[1],尺寸[2]
颜色[1],大小[3]
颜色[2],尺寸[1]
颜色[2],尺寸[2]
依旧......
以下是我用来获取信息的代码。进入数组,我甚至不确定这是做到这一点的最好方法,但它看起来确实有效。
$i=0;
foreach($_item->options->Color as $_color){
$color[$i] = $_color;
$i++;
}
print $sku;
foreach($color as $i=>$value){
print ' - $color[' . $i . '] holds ' . $value;
}
echo '<br>';
$i=0;
foreach($_item->options->Size as $_size){
$size[$i] = $_size;
$i++;
}
print $sku;
foreach($size as $i=>$value){
print ' - $size[' . $i . '] holds ' . $value;
}
echo '<br>';
目前我只是打印出产品$ sku和选项的价值。 我喜欢一些关于如何获取$ color []和$ size []以获取所有可能组合并将它们写入csv的指针。 感谢
答案 0 :(得分:0)
$colors = array("color1", "color2", "color3");
$sizes = array("size1", "size2", "size3");
$result = array();
foreach($colors as $cKey => $c) {
foreach($sizes as $s) {
$result[][$c] = $s;
}
}
var_dump($result);
输出:
array (size=9)
0 =>
array (size=1)
'color1' => string 'size1' (length=5)
1 =>
array (size=1)
'color1' => string 'size2' (length=5)
2 =>
array (size=1)
'color1' => string 'size3' (length=5)
3 =>
array (size=1)
'color2' => string 'size1' (length=5)
4 =>
array (size=1)
'color2' => string 'size2' (length=5)
5 =>
array (size=1)
'color2' => string 'size3' (length=5)
6 =>
array (size=1)
'color3' => string 'size1' (length=5)
7 =>
array (size=1)
'color3' => string 'size2' (length=5)
8 =>
array (size=1)
'color3' => string 'size3' (length=5)