小筆記(二):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;
} 

 


注意!

本站转载的文章为个人学习借鉴使用,本站对版权不负任何法律责任。如果侵犯了您的隐私权益,请联系我们删除。



 
粤ICP备14056181号  © 2014-2021 ITdaan.com