PHP 数组相关处理方法

//对多维数组按照某个字段进行排序
public function arr_sort($array,$key,$order="asc"){//asc是升序 desc是降序
$arr_nums=$arr=array();
foreach($array as $k=>$v){
$arr_nums[$k]=$v[$key];
}

if($order=='asc'){
asort($arr_nums);
}else{
arsort($arr_nums);
}

foreach($arr_nums as $k=>$v){
$arr[$k]=$array[$k];
}
return $arr;
}


//array_pad函数,数组数组首尾选择性追加$num = array(1=>10,2=>20,3=>30);

$num = array_pad($num,4,40);
print_r($num);//Array ( [0] => 10 [1] => 20 [2] => 30 [3] => 40 )$num = array_pad($num,-5,50);//array_pad(array,size,value)
print_r($num);//Array ( [0] => 50 [1] => 10 [2] => 20 [3] => 30 [4] => 40 ) ?>

size:指定的长度。整数则填补到右侧,负数则填补到左侧。


array_splice()删除数组成员 :
$color = array("red", "green", "blue", "yellow");

count ($color); //得到4
array_splice($color,1,1); //删除第二个元素
print_r(count ($color)); //3echo$color[2]; //yellowecho$color[1]; //blue?>

php 判断文件或目录是否存在有自带的函数,file_exists文件是否存在,判断目录是否存在我们用is_dir就ok了。


//sizeof的使用echo sizeof($array);//7;统计数组元素的个数//array_count_values$num = array(10,20,30,10,20,1,0,10);//统计数组元素出现的次数

print_r(array_count_values($num));//Array ( [10] => 3 [20] => 2 [30] => 1 [1] => 1 [0] => 1 ) ?>

current():每个数组都有一个内部指针指向他的当前单元,初始指向插入到数组中的第一个元素


    /**
     * 把对象转换成数组
     * @param   object  $object 要转换的对象
     * @return  array
     */
    public function objectArray($object) {
        if( count($object)==0 )  return trim((string)$object);
        $result = array();
        $object = is_object($object) ? get_object_vars($object) : $object;
        foreach ($object as $key => $val) {
            $val = (is_object($val) || is_array($val)) ? $this -> objectArray($val) : $val;
            $result[$key] = $val;
        }
        return $result;
    }

//数组处理 ,把二位数组处理成为一维数组
public function array_multi2single($array){
    static $result_array=array();
    foreach($array as $k => $value){
        if(is_array($value)){

            $this -> array_multi2single($value);

        }else{
            $result_array[$k]=$value;
        }
    }
    return $result_array;
}

/**
 * 从数组中删除空白的元素
 * @param  $arr 
 * @param  boolean $trim
 * 
 */
function array_remove_empty(&$arr, $trim = true)     
{     
    foreach ($arr as $key => $value) {     
        if (is_array($value)) {     
            array_remove_empty($arr[$key]);     
        } else {     
            $value = trim($value);     
            if ($value == '') {     
                unset($arr[$key]);     
            } elseif ($trim) {     
                $arr[$key] = $value;     
            }    
        }     
    }     
} 

标签: PHP

仅有一条评论

  1. loser

    看着不错呦

评论已关闭