Php 如何按不同的';名称';并将每个名称的关联值放入子数组中?
我在这方面做了很多研究,但似乎找不到一个有助于我的案例的例子 我有这样一个数组:Php 如何按不同的';名称';并将每个名称的关联值放入子数组中?,php,arrays,Php,Arrays,我在这方面做了很多研究,但似乎找不到一个有助于我的案例的例子 我有这样一个数组: array 0 => array 'name' => 'iPhone 5' 'data' => 7 1 => array 'name' => 'iPhone 5' 'data' => 5 2 => array 'name' => 'iPhone 5' 'd
array
0 =>
array
'name' => 'iPhone 5'
'data' => 7
1 =>
array
'name' => 'iPhone 5'
'data' => 5
2 =>
array
'name' => 'iPhone 5'
'data' => 4
3 =>
array
'name' => 'Lumia 1020'
'data' => 3
4 =>
array
'name' => 'Lumia 1020'
'data' => 3
5 =>
array
'name' => 'Lumia 1020'
'data' => 8
etc.
我试图实现的是一个具有如下分组的新数组:
array
0 =>
array
'name' => 'iPhone 5'
'data' =>
array
0 => 7
1 => 5
2 => 4
1 =>
array
'name' => 'Lumia 1020'
'data' =>
array
0 => 3
1 => 3
2 => 8
2 =>
array
'name' => 'Samsung Galaxy S4'
'data' =>
array
0 => 8
1 => 5
2 => 6
任何指点我都将不胜感激 像这样的东西可能有用
$output = array();
//loop over the input array
foreach($input as $phone){
//get the name for our key
$name = $phone['name'];
$data = $phone['data'];
//if the name doesn't exist in our output...
if(!isset($output[$name])){
//add it
$output[$name] = array('name'=>$name, 'data'=>array($data));
} else {
//else, add data
$output[$name]['data'][] = $data;
}
}
//get the values from the array to re-index numerically
$newData = array_values($output);
//display
echo "<pre>".print_r($newData, true)."</pre>";
$output=array();
//在输入数组上循环
foreach($输入为$电话){
//获取我们的密钥的名称
$name=$phone['name'];
$data=$phone['data'];
//如果输出中不存在该名称。。。
如果(!isset($output[$name])){
//加上
$output[$name]=array('name'=>$name,'data'=>array($data));
}否则{
//否则,添加数据
$output[$name]['data'][]=$data;
}
}
//从数组中获取要以数字形式重新索引的值
$newData=数组_值($output);
//展示
echo“.print_r($newData,true)。”;
效果很好!感谢您的快速回复:)