Php 在其子数组中拆分多维数组
我刚刚遇到了这个问题。我有一个多维数组($varianti),如下所示:Php 在其子数组中拆分多维数组,php,multidimensional-array,split,woocommerce,sub-array,Php,Multidimensional Array,Split,Woocommerce,Sub Array,我刚刚遇到了这个问题。我有一个多维数组($varianti),如下所示: Array ( [pa_taglia] => Array ( [0] => l [1] => m ) [pa_colore] => Array ( [0] => blu [1] => giallo [2]
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插件用来从属性创建产品_变体),因此它需要灵活
这是我想出的代码(2小时后…):
我希望这对任何人都有帮助。您可以使用函数,该函数将根据键值自动创建新变量:
extract($varianti);
var_dump($pa_colore);
您可以使用函数,该函数将根据键值自动创建新变量:
extract($varianti);
var_dump($pa_colore);
您可以使用PHP的extract()
函数。此函数用于以可变格式提取数组
考虑这是在$main\u数组中
Array
(
[pa_taglia] => Array
(
[0] => l
[1] => m
)
[pa_colore] => Array
(
[0] => blu
[1] => giallo
[2] => rosso
)
)
extract($main_array);
print_r($pa_taglia);
print_r($pa_colore);
有关更多详细信息,请参阅您可以使用PHP的extract()
函数。此函数用于以可变格式提取数组
考虑这是在$main\u数组中
Array
(
[pa_taglia] => Array
(
[0] => l
[1] => m
)
[pa_colore] => Array
(
[0] => blu
[1] => giallo
[2] => rosso
)
)
extract($main_array);
print_r($pa_taglia);
print_r($pa_colore);
有关更多详细信息,请参阅,您只需按键获取它们并将其存储在变量中即可
$array1 = $varianti["pa_taglia"];
$array2 = $varianti["pa_colore"];
var_dump($array1);
var_dump($array2);
您可以通过键获取它们并将它们存储在变量中
$array1 = $varianti["pa_taglia"];
$array2 = $varianti["pa_colore"];
var_dump($array1);
var_dump($array2);
在这里,我使用get_defined_vars()获得了所有全局变量程序的代码>,显然是多维数组。
之后,我将使用数组_键($orignalArr)访问它们的键代码>。
然后最终按其键值显示每个子阵列
$orignalArr = get_defined_vars();
$keyArr=array_keys($orignalArr);
$arrCount=sizeof($keyArr);
echo "Values of keys<br><br>";
for($i=0;$i<$arrCount;$i++)
{
echo "<br/>";
print_r($keyArr[$i]);
echo "==";
print_r($orignalArr[$keyArr[$i]]);
echo "<br/>";
}
$orignalArr=get_defined_vars();
$keyArr=数组_键($orignalArr);
$arrCount=sizeof($keyArr);
回显“键的值
”;
对于($i=0;$i这里,我使用程序的get_defined_vars();
获得了所有全局变量,您显然是多维数组。
之后,我将使用数组密钥($orignalArr);
访问它们的密钥。
然后最终按其键值显示每个子阵列
$orignalArr = get_defined_vars();
$keyArr=array_keys($orignalArr);
$arrCount=sizeof($keyArr);
echo "Values of keys<br><br>";
for($i=0;$i<$arrCount;$i++)
{
echo "<br/>";
print_r($keyArr[$i]);
echo "==";
print_r($orignalArr[$keyArr[$i]]);
echo "<br/>";
}
$orignalArr=get_defined_vars();
$keyArr=数组_键($orignalArr);
$arrCount=sizeof($keyArr);
回显“键的值
”;
对于($i=0;$iI不确定问题的答案是什么?如果你有自己答案的答案,那么你应该将其作为答案而不是问题的扩展。我不确定问题是什么?如果你有自己答案的答案,那么你应该将其作为答案而不是问题的扩展。这不是一个特别重要的问题不完整的答案,因为它不仅是缩进,使其几乎不可读-但它完全没有记录,没有解释。请提供此信息,以便用户可以评估此答案是否接受。这不是一个特别有用的答案,因为不仅缩进,使其几乎不可读-但它是完全没有文档记录,没有解释。请提供此信息,以便用户评估此信息是否为接受答案。