我有一个定义的数组
Array(
[0] => TEST
[1] => 1
[2] => 2
[3] => 3
)
现在我需要根据上述数组将数组转换为三个子不同的数组
必需格式:
Array (
[NAME] => Test
[VALUE] => 1
)
Array (
[NAME] => Test
[VALUE] => 2
)
Array (
[NAME] => Test
[VALUE] => 3
)
答案 0 :(得分:4)
您可以使用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);
提取-从数组将变量导入当前符号表
输出:-
Array
(
[NAME] => TEST
[VALUE] => 1
)
Array
(
[NAME] => TEST
[VALUE] => 2
)
Array
(
[NAME] => TEST
[VALUE] => 3
)