将数组中某一元素值相同的追加到该数组 本帖最后由 hutudeng2008 于 2015-01-13 11:10:44 编辑 解决方案 » 免费领取超大流量手机卡,每月29元包185G流量+100分钟通话, 中国电信官方发货 $ar = array ( 0 => array ( 'num' => '1', 'sendPhone' => '15670015154', 'sendDate' => '2015-01-12 01:19:57', 'sendStatus' => '1', ), 1 => array ( 'num' => '1', 'sendPhone' => '15518788555', 'sendDate' => '2015-01-12 02:28:18', 'sendStatus' => '0', ), 2 => array ( 'num' => '1', 'sendPhone' => '15518788555', 'sendDate' => '2015-01-12 02:05:10', 'sendStatus' => '1', ), 3 => array ( 'num' => '1', 'sendPhone' => '15518788544', 'sendDate' => '2015-01-12 02:11:38', 'sendStatus' => '1', ), 4 => array ( 'num' => '2', 'sendPhone' => '15670015154', 'sendDate' => '2015-01-12 02:28:18', 'sendStatus' => '0', ),);$res = array();foreach($ar as $item) { $k = $item['sendPhone']; if(! isset($res[$k])) { $res[$k] = array( 'sendPhone' => $k, 'sendDate' => '', 'success' => 0, 'failure' => 0, ); } $res[$k]['sendDate'] = max($res[$k]['sendDate'], $item['sendDate']); $res[$k]['success'] += $item['sendStatus'] ? $item['num'] : 0; $res[$k]['failure'] += ! $item['sendStatus'] ? $item['num'] : 0;}print_r(array_values($res));Array( [0] => Array ( [sendPhone] => 15670015154 [sendDate] => 2015-01-12 02:28:18 [success] => 1 [failure] => 2 ) [1] => Array ( [sendPhone] => 15518788555 [sendDate] => 2015-01-12 02:28:18 [success] => 1 [failure] => 1 ) [2] => Array ( [sendPhone] => 15518788544 [sendDate] => 2015-01-12 02:11:38 [success] => 1 [failure] => 0 )) 求助阿 菜鸟求助 昨天问题的延续,搜索分页,然后加checkbox传递选中的一行数据存储到新表中 mkdir()的疑问 关于session的一个问题 想做PHP开发,要些什么环境?在哪里可以下载呢?? 大家好,新手问路 想做一个图片计数器,为什么我的代码会报错 如何获取指定列的信息? 我实在不知道为什么???打死也不明白~~~ 用header()函数实现页面的用户认证,如何实现。 关于CSV文件上传问题 git创建分支的时候提示not a valid name
0 => array (
'num' => '1',
'sendPhone' => '15670015154',
'sendDate' => '2015-01-12 01:19:57',
'sendStatus' => '1',
),
1 => array (
'num' => '1',
'sendPhone' => '15518788555',
'sendDate' => '2015-01-12 02:28:18',
'sendStatus' => '0',
),
2 => array (
'num' => '1',
'sendPhone' => '15518788555',
'sendDate' => '2015-01-12 02:05:10',
'sendStatus' => '1',
),
3 => array (
'num' => '1',
'sendPhone' => '15518788544',
'sendDate' => '2015-01-12 02:11:38',
'sendStatus' => '1',
),
4 => array (
'num' => '2',
'sendPhone' => '15670015154',
'sendDate' => '2015-01-12 02:28:18',
'sendStatus' => '0',
),
);$res = array();
foreach($ar as $item) {
$k = $item['sendPhone'];
if(! isset($res[$k])) {
$res[$k] = array(
'sendPhone' => $k,
'sendDate' => '',
'success' => 0,
'failure' => 0,
);
}
$res[$k]['sendDate'] = max($res[$k]['sendDate'], $item['sendDate']);
$res[$k]['success'] += $item['sendStatus'] ? $item['num'] : 0;
$res[$k]['failure'] += ! $item['sendStatus'] ? $item['num'] : 0;}
print_r(array_values($res));Array
(
[0] => Array
(
[sendPhone] => 15670015154
[sendDate] => 2015-01-12 02:28:18
[success] => 1
[failure] => 2
) [1] => Array
(
[sendPhone] => 15518788555
[sendDate] => 2015-01-12 02:28:18
[success] => 1
[failure] => 1
) [2] => Array
(
[sendPhone] => 15518788544
[sendDate] => 2015-01-12 02:11:38
[success] => 1
[failure] => 0
))