php常用数组函数小结

count函数

作用:计算数组中元素的个数或对象的属性个数

返回值:

  1. 数组或者对象, 返回数组的单元个数或者对象的属性个数
  2. Null,返回0
  3. 非数组,也非NULL,通通返回1
<?php
    $arr=array('春','夏','秋','冬');
    echo count($arr);//4
    echo '<br/>';
   
    $str='false';
    echo count($str);//1
    echo '<br/>';

    $res=null;
    echo count($res);//0
    echo "<br/>";

    $arr=array('春','夏','秋','冬',array('a','b','c'));
    echo count($arr),'<br/>';//5
    echo count($arr,1),'<br/>';//第2个参数为1时,代表递归的来计算数组的单元个数

    $arr=array('春','夏','秋','冬',array('a',array('b','c')));
    echo count($arr,1),'<br/>';
?>

range函数

作用:建立一个包含指定范围单元的数组

返回值:返回的数组中从 start 到 limit 的单元,包括它们本身。

<?php
    $arr=range(0,20);
    foreach($arr as $v){
     echo $v.'<br/>';
}
    $arr=range(0,20,2);
    foreach($arr as $k=>$v){
      echo $k.'###'.$v.'<br/>';
}
?>

array_flip函数 array array_flip ( array $trans )

作用:交换键值

参数:array $trans 要交换键/值对的数组。

返回值:成功时返回交换后的数组,如果失败返回 NULL。键值对调后,出现2个相同的键,后面的会覆盖前面的键

<?php
    $arr=array('a'=>1,'b'=>2,'c'=>3);
    print_r($arr);//Array ( [0] => a [1] => b [2] => c ) 
    print_r(array_flip($arr));//Array ( [a] => 0 [b] => 1 [c] => 2 ) 
?>

array_sum函数 number array_sum ( array $array )

作用:计算数组中所有值的和,将数组中的所有值的和以整数或浮点数的结果返回。

参数:array 输入的数组。

返回值:所有值的和以整数或浮点数的结果返回

<?php
    $arr=range(1,100);
    print_r($arr);
    echo array_sum($arr);
?>

shuffle函数 bool shuffle ( array &$array )

作用: 将数组打乱

参数:array 待操作的数组

返回值:成功时返回 TRUE, 或者在失败时返回 FALSE。该函数是引用传值

<?php
    $arr=range(1,100);
    print_r($arr);
    echo array_sum($arr);
    if(shuffle($arr)){
    echo '打乱成功';
    print_r($arr);//
   }
?>

array_reverse函数 array array_reverse ( array $array [, bool $preserve_keys = false ] )

作用:接受数组 array 作为输入并返回一个单元为相反顺序的新数组。

参数:array 输入的数组。preserve_keys 如果设置为 TRUE 会保留数字的键。 非数字的键则不受这个设置的影响,总是会被保留。

返回值:返回反转后的数组。

<?php

    $arr = array('a'=>'春','b'=>'夏','c'=>'秋','d'=>'冬'); 
    print_r($arr); //Array ( [a] => 春 [b] => 夏 [c] => 秋 [d] => 冬 )
    print_r(array_reverse($arr)); //Array ( [d] => 冬 [c] => 秋 [b] => 夏 [a] => 春 )
    $arr = array('春','夏','秋','冬'); 
    print_r($arr); 
    print_r(array_reverse($arr)); 
    print_r(array_reverse($arr,true));
?>

array_push函数 int array_push ( array &$array , mixed $var [, mixed $... ] )

作用:将一个或多个单元压入数组的末尾(入栈)

参数:array 输入的数组。 var 要压入的值。

返回值:返回处理之后数组的元素个数。

<?php
    $stack = array("orange", "banana");
    array_push($stack, "apple", "raspberry");
    print_r($stack);
?> 

array_pop函数 mixed array_pop ( array &$array )

作用:将数组最后一个单元弹出(出栈)

参数:array 需要做出栈的数组。

返回值:返回 array 的最后一个值。如果 array 是空(如果不是一个数组),将会返回 NULL 。

<?php
    $stack = array("orange", "banana", "apple", "raspberry");
    $fruit = array_pop($stack);
    print_r($stack);
?> 

array_shift函数 mixed array_shift ( array &$array )

作用:将数组开头的单元移出数组

参数:array 输入的数组。

返回值:返回移出的值,如果 array 为 空或不是一个数组则返回 NULL。

<?php
    $stack = array("orange", "banana", "apple", "raspberry");
    $fruit = array_shift($stack);
    print_r($stack);
?> 

array_unshift函数 int array_unshift ( array &$array , mixed $var [, mixed $... ] )

作用:在数组开头插入一个或多个单元

参数:array 输入的数组。 var 开头插入的变量。

返回值:返回 array 数组新的单元数目。

<?php
    $queue = array("orange", "banana");
    array_unshift($queue, "apple", "raspberry");
    print_r($queue);
?>

explode函数 array explode ( string $delimiter , string $string [, int $limit ] )

作用:此函数返回由字符串组成的数组,每个元素都是 string 的一个子串,它们被字符串 delimiter 作为边界点分割出来

返回值:返回由字符串组成的 array,每个元素都是 string 的一个子串,它们被字符串 delimiter 作为边界点分割出来。

<?php
    $str = 'abc,中国,美国,日本';
    $arr = explode(',',$str); 
    print_r($arr);//Array ( [0] => abc [1] => 中国 [2] => 美国 [3] => 日本 )
?>

implode函数 string implode ( string $glue , array $pieces )或者string implode ( array $pieces )

作用:将一个一维数组的值转化为字符串

参数:glue 默认为空的字符串。 pieces 你想要转换的数组。

返回值:返回一个字符串,其内容为由 glue 分割开的数组的值。

<?php
    $str = 'abc,中国,美国,日本';
    $arr = explode(',',$str); 
    print_r($arr);
    $arr = explode(',',$str); 
    echo implode('~',$arr),'<br />';
    echo implode($arr);
?>
posted @ 2016-08-13 16:12  selfim  阅读(550)  评论(0编辑  收藏  举报