本文实例讲述了php数组实现根据某个键值将相同键值合并生成新二维数组的方法。分享给大家供大家参考,具体如下:
源数据:
$infos = array( array( 'a' => 36, 'b' => 'xa', 'c' => '2015-08-28 00:00:00', 'd' => '2015/08/438488a00b3219929282e3652061c2e3.png' ), array( 'a' => 3, 'b' => 'vd', 'c' => '2015-08-20 00:00:00', 'd' => '2015/08/438488a00b3219929282e3652061c2e3.png' ), array( 'a' => 6, 'b' => 'wwe', 'c' => '2015-08-28 00:00:00', 'd' => '2015/08/438488a00b3219929282e3652061c2e3.png' ), array( 'a' => 36, 'b' => 'se', 'c' => '2015-08-28 00:00:00', 'd' => '2015/08/438488a00b3219929282e3652061c2e3.png' ), array( 'a' => 6, 'b' => 'aw', 'c' => '2015-08-28 00:00:00', 'd' => '2015/08/438488a00b3219929282e3652061c2e3.png' ), array( 'a' => 36, 'b' => 'bv', 'c' => '2015-08-28 00:00:00', 'd' => '2015/08/438488a00b3219929282e3652061c2e3.png' ), array( 'a' => 12, 'b' => 'xx', 'c' => '2015-08-27 00:00:00', 'd' => '2015/08/438488a00b3219929282e3652061c2e3.png' ) );
处理要求:将数组中a相同的二维数组合并到一个数组中,生成一个新的数组
代码:
<?php $result= array(); foreach ($infos as $key => $info) { $result[$info['a']][] = $info; } print_r($result);
输出:
Array ( [36] => Array ( [0] => Array ( [a] => 36 [b] => xa [c] => 2015-08-28 00:00:00 [d] => 2015/08/438488a00b3219929282e3652061c2e3.png ) [1] => Array ( [a] => 36 [b] => se [c] => 2015-08-28 00:00:00 [d] => 2015/08/438488a00b3219929282e3652061c2e3.png ) [2] => Array ( [a] => 36 [b] => bv [c] => 2015-08-28 00:00:00 [d] => 2015/08/438488a00b3219929282e3652061c2e3.png ) ) [3] => Array ( [0] => Array ( [a] => 3 [b] => vd [c] => 2015-08-20 00:00:00 [d] => 2015/08/438488a00b3219929282e3652061c2e3.png ) ) [6] => Array ( [0] => Array ( [a] => 6 [b] => wwe [c] => 2015-08-28 00:00:00 [d] => 2015/08/438488a00b3219929282e3652061c2e3.png ) [1] => Array ( [a] => 6 [b] => aw [c] => 2015-08-28 00:00:00 [d] => 2015/08/438488a00b3219929282e3652061c2e3.png ) ) [12] => Array ( [0] => Array ( [a] => 12 [b] => xx [c] => 2015-08-27 00:00:00 [d] => 2015/08/438488a00b3219929282e3652061c2e3.png ) ) )
希望本文所述对大家PHP程序设计有所帮助。