我有一个像这样的数据库数组
array(
(int) 0 => array(
'B' => array(
'company' => 'KC ACEH'
),
'User' => array(
'company' => 'KCP ACEH DARUSSALAM'
),
(int) 0 => array(
'jumlah' => null,
'jumbuy' => '50990',
'admin' => '50010'
)
),
(int) 1 => array(
'B' => array(
'company' => 'KC LANGSA'
),
'User' => array(
'company' => 'KCP ACEH ULEE KARENG'
),
(int) 0 => array(
'jumlah' => null,
'jumbuy' => '65000',
'admin' => '5000'
)
),
(int) 2 => array(
'B' => array(
'company' => 'KC ACEH'
),
'User' => array(
'company' => 'KCP ACEH DARUSSALAM'
),
(int) 0 => array(
'jumlah' => null,
'jumbuy' => '98990',
'admin' => '2010'
)
))
数组行零和行一是同一个月,数组第二行是不同的月份。所以,如果用户‘->’公司的数据是相同的,我想用foreach来实现。这些数据将被输出
array(
(int) 0 => array(
'B' => array(
'company' => 'KC ACEH'
),
'User' => array(
'company' => 'KCP ACEH DARUSSALAM'
),
(int) 0 => array(
'jumlah' => null,
'jumbuy' => '50990',
'admin' => '50010'
),
(int) 1 => array(
'jumlah' => null,
'jumbuy' => '98990',
'admin' => '2010'
)
),
(int) 1 => array(
'B' => array(
'company' => 'KC LANGSA'
),
'User' => array(
'company' => 'KCP ACEH ULEE KARENG'
),
(int) 0 => array(
'jumlah' => null,
'jumbuy' => '65000',
'admin' => '5000'
)
))
我在搜索谷歌,但我不明白。有谁可以帮我?
发布于 2015-04-21 04:30:52
如果来自['B']['company']的值是唯一的,那么您可以使用它作为键对那些共享这些值的数组批进行分组,然后放到另一个容器中。
在初始容器推送时,只需将整个批处理与指定的密钥一起推送即可。如果它已经存在,只需获取当前批处理的最后一个元素(数字索引1)并将其推入组。
$data = array();
foreach($array as $values) {
if(!isset($data[$values['B']['company']])) {
// initialize group
$data[$values['B']['company']] = $values;
} else {
$last_element = array_pop($values); // get last element
$data[$values['B']['company']][] = $last_element; // push
}
}
$data = array_values($data); // re index样本输出
发布于 2015-04-24 06:23:50
foreach($report_posts as $values) {
if(!isset($data[$values['User']['company']])) {
$data[$values['User']['company']] = $values;
$data1 = array(***OUTPUT JUMBUY***);
$series = $this->HighCharts->addChartSeries();
$series->addName($values['User']['company'])->addData($data1);
$mychart->addSeries($series);
} else {
$last_element = array_pop($values);
$data[$values['User']['company']][] = $last_element;
}
}
$data = array_values($data);https://stackoverflow.com/questions/29762858
复制相似问题