数组运用技巧分享003

来源:互联网 发布:android 打开淘宝app 编辑:程序博客网 时间:2024/06/11 15:04
  1. 相同数组的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++这个后自增了
}


0 0
原创粉丝点击