この問題が発生しました。次のような多次元配列 ($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
}
これが誰にとっても役立つことを願っています。