我刚遇到这个问题。我有一个看起来像这样的多维数组($varianti):
Array
(
[pa_taglia] => Array
(
[0] => l
[1] => m
)
[pa_colore] => Array
(
[0] => blu
[1] => giallo
[2] => rosso
)
)
我需要的是为每个子数组获取不同的数组,所以我需要这个结果:
Array
(
[0] => l
[1] => m
)
Array
(
[0] => blu
[1] => giallo
[2] => rosso
)
主要问题是我可以根据需要获得尽可能多的子数组(这是为了让我的 Woocommerce 插件从属性创建 product_variations),因此它需要灵活。
这是我想出的代码(2小时后......):
$keys = array_keys($varianti);//get the main keys
//split multidimensional array in sub arrays
foreach ($keys as $key=>$val){
$nr_var[$val]= count($varianti[$keys[$key]]);//create array such as array('key1'=> qty1, 'key2'=> qty2);
$$val = $varianti[$keys[$key]];//create a variable variable from key
}
print_r($nr_var);
foreach ($nr_var as $chiave=>$valore){
print_r($$chiave);//retrieve values calling variable variable
}
我希望这对任何人都有帮助。