将单个数组拆分为数组

时间:2019-07-10 06:57:29

标签: php arrays

我有一个定义的数组

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

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

必需格式:

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

1 个答案:

答案 0 :(得分:4)

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

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

array_shift —将元素移出数组的开头

Demo

输出:-

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);

提取-从数组将变量导入当前符号表

Demo

输出:-

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