Warning: file_get_contents(/data/phpspider/zhask/data//catemap/1/php/275.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Php 在其子数组中拆分多维数组_Php_Multidimensional Array_Split_Woocommerce_Sub Array - Fatal编程技术网

Php 在其子数组中拆分多维数组

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]

我刚刚遇到了这个问题。我有一个多维数组($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插件用来从属性创建产品_变体),因此它需要灵活

这是我想出的代码(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不确定问题的答案是什么?如果你有自己答案的答案,那么你应该将其作为答案而不是问题的扩展。我不确定问题是什么?如果你有自己答案的答案,那么你应该将其作为答案而不是问题的扩展。这不是一个特别重要的问题不完整的答案,因为它不仅是缩进,使其几乎不可读-但它完全没有记录,没有解释。请提供此信息,以便用户可以评估此答案是否接受。这不是一个特别有用的答案,因为不仅缩进,使其几乎不可读-但它是完全没有文档记录,没有解释。请提供此信息,以便用户评估此信息是否为接受答案。