首页 > 解决方案 > 将单个数组拆分为数组

问题描述

我有一个定义的数组,

Array(
    [0] => TEST 
    [1] => 1 
    [2] => 2 
    [3] => 3 
)

现在我需要根据上面的数组将数组转换成三个不同的子数组

所需格式:

Array (
    [NAME] => Test
    [VALUE] => 1
)
Array (
    [NAME] => Test
    [VALUE] => 2
)
Array (
    [NAME] => Test
    [VALUE] => 3
)

标签: phparrays

解决方案


您可以使用array_shift获取第一个元素:

$name = array_shift($arr);
$res = [];
foreach ($arr as $key => $value) {
    $res[] = ["NAME" => $name, "VALUE" => $value];
}
print_r($res);

array_shift — 将一个元素从数组的开头移开

演示

输出:-

Array
(
    [0] => Array
        (
            [NAME] => TEST 
            [VALUE] => 1 
        )

    [1] => Array
        (
            [NAME] => TEST 
            [VALUE] => 2 
        )

    [2] => Array
        (
            [NAME] => TEST 
            [VALUE] => 3 
        )

)

编辑

如果您想要三个单独的子数组,请使用extract

$temp = array_shift($arr);
$res  = [];
foreach ($arr as $key => $value) {
    $res['arr'.$key] = ["NAME" => $temp, "VALUE" => $value];
}
extract($res);
print_r($arr0);
print_r($arr1);
print_r($arr2);

extract — 从数组中将变量导入当前符号表

演示

输出:-

Array
(
    [NAME] => TEST 
    [VALUE] => 1 
)
Array
(
    [NAME] => TEST 
    [VALUE] => 2 
)
Array
(
    [NAME] => TEST 
    [VALUE] => 3 
)

推荐阅读