zoukankan      html  css  js  c++  java
  • 小笔记(二):php数组

    一、对于一二维数组重新组合为另一个二维数组,根据键值名称对一个二维数组进行重新组合例:

    /*$paramArray=array( 
    * 'a'=>array('0'=>'1','1'=>'1','2'=>'1'),
    * 'b'=>array('0'=>'2','1'=>'2','2'=>'2','3'=>'2'),
    * 'c'=>array('0'=>'3','1'=>'3'),
    * )重组为
    * array( * '0'=>array('a'=>'1','b'=>'2','c'=>'3'),
    * '1'=>array('a'=>'1','b'=>'2','c'=>'3')
    * '2'=>array('a'=>'1','b'=>'2'),
    * '3'=>array('b'=>'2'),
    * )
    */


    function reArray($paramArray) { foreach ($paramArray as $k => $v) { foreach ($v as $k1 => $v1) { $param[$k1][$k]=$v[$k1]; } } return $param; }

     二、两个已经按倒叙排列的二维数组,组合到一起,根据某一字段(键值)依然按倒叙排列,可以直接调用以下函数,如何需要反过来排序组合,只需将while中的if判断更改

    //问题和回答数组组合到新数组,倒叙排列时间最新在上
        function reArray($arr1,$arr2) {
            $newArr=array();
            $arr1len=  count($arr1);
            $arr2len=  count($arr2);
            $i=0;$j=0;$n=0;
            while($i<$arr1len && $j<$arr2len){
                $key1= $arr1[$i]['key'];
                $key2= $arr2[$j]['key'];
                if($key1>$key2){
                    $t=$n++;
                    $newArr[$t]=$arr1[$i];$i++;
                }elseif($key1<$key2){
                     $t=$n++;
                     $newArr[$t]=$arr2[$j];$j++;
                }
            }
            if($i==$arr1len){
                while ($j<$arr2len){
                     $t=$n++;
                     $newArr[$t]=$arr2[$j];$j++;
                }
            }  else if($j==$arr2len){
                while ($i<$arr1len){
                    $t=$n++;
                    $newArr[$t]=$arr1[$i];$i++;
                }
            }
            return $newArr;
        }

    三、对于一个二维数组的某个字段(键值)进行排序

       /*对一个二维数组某个字段进行排序*/
        function multi_array_sort($multi_array,$sort_key,$sort=SORT_ASC){
            if(is_array($multi_array)){
                foreach ($multi_array as $row_array){
                    if(is_array($row_array)){
                        $key_array[] = $row_array[$sort_key];
                    }else{
                        return false;
                    }
                }
            }else{
               return false;
            }
            array_multisort($key_array,$sort,$multi_array);
            return $multi_array;
    } 
  • 相关阅读:
    (8) MySQL主从复制架构使用方法
    (7) MySQL数据库备份详解
    (6) MySQL慢查询日志的使用
    解决通过Nginx转发的服务请求头header中含有下划线的key,其值取不到的问题
    (5) 电商场景下的常见业务SQL处理
    (4) MySQL中EXPLAIN执行计划分析
    (3) MySQL分区表使用方法
    (2) 电商数据库表设计
    (1) Mysql高性能优化规范建议
    linux每日命令(39):lsof命令
  • 原文地址:https://www.cnblogs.com/zhuyefengying/p/6138386.html
Copyright © 2011-2022 走看看