-
相同数组的key如何合并成一个二维数组
$a1 = Array(
0 => 2280,
1 => 1650,
2 => 1650,
3 => 2236,
4 => 2236
);
$a2 = Array(
0 => '5343b8657d0e806b48e4daf1',
1 => '533d11d27d0e806b48e4dac8',
2 => '533d11d37d0e806b48e4dac9',
3 => '533d1ffa7d0e806b48e4dace',
4 => '533d1a2f7d0e806b48e4dacb'
);
foreach ($a1 as $key=>$val) {
$newarr[$val][] = $a2[$key];//$a2[$key]的值就等于value,$val的值就是第一个数组的value。
}
2.数组判断key是否有逗号然后重新组成数组
$array2 = array(
'4' => '20001',
'5' => '20002',
'9,10,12' => '30001',
'15,20,32' => '30002',
);
foreach ($array2 as $key=>$val)
{
if (strstr($key,',')) {
$tmp_arr = explode(',',$key);
foreach ($tmp_arr as $k=>$v)
$newarr[$v] = $val; //新数组重新组成的key=>val,$v就是订单号的值,以key为
}else
$newarr[$key] = $val;
}
//new 数组拼接值 1001,1002,1003
$i=1;
$start=1001;
$new = array();
$arr = array(array('name'=>1,'city'=>2,'a'=>12),array('name'=>1,'city'=>2,'a'=>12));
foreach($arr as $key=>$val){
if ($val['a']>=12) {
$new[$key] = $start+$i;
$i++;//运行第二次的时候才加1,$i的下一次取值,之前已经定义了$i++这个后自增了
}