拆分多维数组和分组到关联数组在php中具有相同的字段
Posted
tags:
篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了拆分多维数组和分组到关联数组在php中具有相同的字段相关的知识,希望对你有一定的参考价值。
我的阵列是这样的
$array = array(
['NAME[0]'=>'RAM','STD[0]'=>'4','SEC[0]'=>'A'],
['NAME[1]'=>'RAJ','STD[1]'=>'3','SEC[1]'=>'B'–]
);
我想像这样分开
$name = array('NAME[0]'=> 'RAM',NAME[1]=>'RAJ');
$std = array('STD[0]'=> '4',STD[1]=>'3');
$name = array('SEC[0]'=> 'A',SEC[1]=>'B');
答案
尝试一下这个
$array=array(
array('NAME[0]'=>'RAM','STD[0]'=>'4','SEC[0]'=>'A'),
array('NAME[1]'=>'RAJ','STD[1]'=>'3','SEC[1]'=>'B')
);
$name = array();
$STD = array();
$SEC = array();
foreach($array as $vals) {
$i = 0;
foreach($vals as $key => $value) {
if($i == 0){
$name[$key] = $value;
}elseif($i == 1){
$STD[$key] = $value;
}elseif($i ==2){
$SEC[$key] = $value;
}
$i++;
}
}
print_r($name);
print_r($STD);
print_r($SEC);
另一答案
试试这个:
$arr = [
array(
'NAME' => 'RAM',
'STD' => '4',
'SEC' => 'A',
),
array(
'NAME' => 'RAJ',
'STD' => '3',
'SEC' => 'B',
)
];
$names = [];
$stds = [];
$secs = [];
foreach ($arr as $value) {
array_push($names, array('NAME' => $value['NAME']));
array_push($stds, array('STD' => $value['STD']));
array_push($secs, array('SEC' => $value['SEC']));
}
另一答案
你可以使用http://php.net/manual/fr/function.array-column.php
<?php
$records = array(
array(
'id' => 2135,
'first_name' => 'John',
'last_name' => 'Doe',
),
array(
'id' => 3245,
'first_name' => 'Sally',
'last_name' => 'Smith',
),
array(
'id' => 5342,
'first_name' => 'Jane',
'last_name' => 'Jones',
),
array(
'id' => 5623,
'first_name' => 'Peter',
'last_name' => 'Doe',
)
);
$first_names = array_column($records, 'first_name');
print_r($first_names);
?>
会给你
Array
(
[0] => John
[1] => Sally
[2] => Jane
[3] => Peter
)
或者你可以使用extract()函数
https://www.w3schools.com/php/func_array_extract.asp
以上是关于拆分多维数组和分组到关联数组在php中具有相同的字段的主要内容,如果未能解决你的问题,请参考以下文章