php常用数组array函数实例总结【赋值,拆分,合并,计算,添加,删除,查询,判断,排序】

5年以前  |  阅读数:597 次  |  编程语言:PHP 

本文实例总结了php常用数组array函数。分享给大家供大家参考,具体如下:

array_combine

功能:用一个数组的值作为新数组的键名,另一个数组的值作为新数组的值

案例:


    <?php
    $a = array("one","two","three");
    $b = array("一","二","三");
    $c = array_combine($a,$b);
    print_r($c);
    /**结果
    *Array ( [one] => 一 [two] => 二 [three] => 三 )
    */

array_chunk

功能:拆分数组成多个数组


    <?php
    $input_array = array("a"=>"apple","b"=>"blue","c","d","e");
    echo "<pre>";
    print_r(array_chunk($input_array, 2));
    print_r(array_chunk($input_array, 2,True));
    echo "</pre>";
    /**结果
    Array
    (
     [0] => Array
      (
       [0] => apple
       [1] => blue
      )
     [1] => Array
      (
       [0] => c
       [1] => d
      )
     [2] => Array
      (
       [0] => e
      )
    )
    Array
    (
     [0] => Array
      (
       [a] => apple
       [b] => blue
      )
     [1] => Array
      (
       [0] => c
       [1] => d
      )
     [2] => Array
      (
       [2] => e
      )
    )
    */

array_count_values

功能:统计数组中值出现的次数


    <?php
    $input_array = array("a"=>"apple","b"=>"blue","c","d","e");
    echo "<pre>";
    print_r(array_count_values($input_array));
    echo "</pre>";
    /**结果
    Array
    (
     [apple] => 1
     [blue] => 1
     [c] => 1
     [d] => 1
     [e] => 1
    )
    */

array_diff

功能:第一个数组中去掉第二个数组中有的数据,返回剩下的内容作为结果


    <?php
    $array1 = array("a"=>"apple","b"=>"blue","c","d","e");
    $array2 = array("apple","c","d","f");
    $result = array_diff($array1, $array2);
    $result2 = array_diff($array2, $array1);
    echo "<pre>";
    print_r($result);//数组1中去掉数组2中剩下的
    print_r($result2);//数组2中去掉数组1中剩下的
    echo "</pre>";
    /**结果
    Array
    (
     [b] => blue
     [2] => e
    )
    Array
    (
     [3] => f
    )
    */

array_map

功能:将回调函数执行到数组中


    <?php
    //定义回调函数
    function cube($n){
     return ($n*$n*$n);
    }
    $a = array(1,2,3,4,5);
    $b = array_map("cube",$a);
    echo "<pre>";
    print_r($b);
    echo "</pre>";
    /**结果
    Array
    (
     [0] => 1
     [1] => 8
     [2] => 27
     [3] => 64
     [4] => 125
    )
    */

array_merge

功能:合并一个或多个数组

说明:如果后面有键名相同的会覆盖掉前面的内容,键名为数字的会添加到后面


    <?php
    $array1 = array("color"=>"red",2,4);
    $array2 = array("a","b","color"=>"green","shape"=>"trapezoid",4);
    $result1 = array_merge($array1,$array2);
    $result2 = array_merge_recursive($array1,$array2);
    echo "<pre>";
    print_r($result1);
    print_r($result2);
    echo "</pre>";
    /**结果
    Array
    (
     [color] => green
     [0] => 2
     [1] => 4
     [2] => a
     [3] => b
     [shape] => trapezoid
     [4] => 4
    )
    Array
    (
     [color] => Array
      (
       [0] => red
       [1] => green
      )
     [0] => 2
     [1] => 4
     [2] => a
     [3] => b
     [shape] => trapezoid
     [4] => 4
    )
    */

array_pop

功能:剔除数组最后一个元素,返回被剔除的元素内容


    <?php
    $stack = array("orange","banana","apple","1");
    $last = array_pop($stack);
    echo "<pre>";
    print_r($stack);
    print_r($last);
    echo "</pre>";
    /**结果
    Array
    (
     [0] => orange
     [1] => banana
     [2] => apple
    )
    1
    */

array_push

功能:将一个多个单元压入数组末尾,返回之后的数组个数


    <?php
    $stack = array("orange","banana");
    $count = array_push($stack,"apple","red","blue");
    echo "<pre>";
    print_r($stack);
    print_r($count);
    echo "</pre>";
    /**结果
    Array
    (
     [0] => orange
     [1] => banana
     [2] => apple
     [3] => red
     [4] => blue
    )
    5
    */

array_rand

功能:获取随机的键名


    <?php
    $input = array("orange","banana","apple","red","blue");
    $rand = array_rand($input,2);;
    print_r($rand);
    $rand = array_rand($input,3);
    print_r($rand);
    /**结果
    Array
    (
     [0] => 1
     [1] => 4
    )
    Array
    (
     [0] => 0
     [1] => 1
     [2] => 3
    )
    */

array_search

功能:查询数组中的内容,返回键值,如果有多个匹配,返回第一个匹配的内容


    <?php
    $array = array("blue"=>"b","red"=>"r","green","r");
    $key = array_search('b', $array);
    echo $key;
    echo "<br>";
    $key = array_search('r', $array);
    echo $key;
    echo "<br>";
    /**结果
    blue
    red
    */

array_shift

功能:移除开头的元素,与array_pop相反


    <?php
    $fruit = array("milk","orange","banana","apple");
    $top = array_shift($fruit);
    print_r($top);
    echo "<br>";
    print_r($fruit);
    /**结果
    milk
    Array ( [0] => orange [1] => banana [2] => apple )
    */

array_unique

功能:去除数组重复的元素,保留第一个出现的,包括键名和值


    <?php
    $input = array("a"=>"green","red","b"=>"green","blue","c"=>"red");
    $result = array_unique($input);
    print_r($result);
    echo "<br>";
    print_r($input);
    /**结果
    Array ( [a] => green [0] => red [1] => blue )
    Array ( [a] => green [0] => red [b] => green [1] => blue [c] => red )
    */

array_slice

功能:从数组中取出部分元素


    <?php
    $input = array("a","b","c","d","e");
    $output = array_slice($input,2);//第二个参数没有时,表示取到最后一个元素
    print_r($output);
    echo "<br>";
    $output = array_slice($input,-2,1);//第二个参数是正数时,表示个数;倒数第一个是-1,倒数第二个是-2
    print_r($output);
    echo "<br>";
    $output = array_slice($input,0,3);
    print_r($output);
    echo "<br>";
    $output = array_slice($input,2,-1);//第二个参数是负数时,表示位置,取到哪一位,不包括本身
    print_r($output);
    echo "<br>";
    $output = array_slice($input,2,-1,true);//第三个参数为true时,保留原有的键值
    print_r($output);
    echo "<br>";
    /**结果
    Array ( [0] => c [1] => d [2] => e )
    Array ( [0] => d )
    Array ( [0] => a [1] => b [2] => c )
    Array ( [0] => c [1] => d )
    Array ( [2] => c [3] => d )
    */

count

功能:返回数组元素个数,元素为数组的算一个


    <?php
    $input = array("a","b","c",array("d","e"));
    $count = count($input);
    echo $count;
    echo "<br>";
    $input = array("a","b","c","d","e");
    $count = count($input);
    echo $count;
    /**结果
    4
    5
    */

current

功能:获取当前的指针指向元素


    <?php
    $array = array("foot","bike","car","plane");
    $result = current($array);
    echo $result."<br>";
    next($array);//使指针指向下一个元素
    $result = current($array);
    echo $result."<br>";
    prev($array);//使指针指向前一个元素
    $result = current($array);
    echo $result."<br>";
    end($array);//使指针指向最后一个元素
    $result = current($array);
    echo $result."<br>";
    /**结果
    foot
    bike
    foot
    plane
    */

in_array

功能:检验某值是否存在数组中,有返回True,没有返回False


    <?php
    $os_list = array("Mac","NT","Irix","Linux");
    if(in_array("Irix",$os_list)){
     echo "当前操作系统列表中存在Irix";
    }else{
     echo "当前操作系统列表中不存在Irix";
    }
    echo "<br>";
    if(in_array("mac",$os_list)){
     echo "当前操作系统列表中存在mac";
    }else{
     echo "当前操作系统列表中不存在mac";
    }
    echo "<br>";
    /**结果
    当前操作系统列表中存在Irix
    当前操作系统列表中不存在mac
    */

list

功能:将数组中的信息赋值给多个变量


    <?php
    $info = array("red","blue","green");
    list($flag,$sky,$grassland) = $info;
    echo "$flag,$sky,$grassland";
    echo "<br>";
    list($flag,,$grassland) = $info;
    echo "$flag,$grassland";
    echo "<br>";
    list(,,$grassland) = $info;
    echo "$grassland";
    echo "<br>";
    /**结果
    red,blue,green
    red,green
    green
    */

shuffle

功能:打乱数组


    <?php
    $numbers = range(1,5);//生成一个随机数组
    print_r($numbers);
    echo "<br/>";
    shuffle($numbers);//打乱数组
    print_r($numbers);
    /**结果
    Array ( [0] => 1 [1] => 2 [2] => 3 [3] => 4 [4] => 5 )
    Array ( [0] => 4 [1] => 1 [2] => 5 [3] => 2 [4] => 3 )
    */

array_keys

功能:获取数组的键名,第二个参数可以指定获取某个元素


    <?php
    $array = array(0=>100,"color"=>"red");
    print_r(array_keys($array));
    echo "<br>";
    $array = array("blue","red","green","blue","blue");
    print_r(array_keys($array,"blue"));
    echo "<br>";
    $array = array("color"=>array("blue","red","green"),"size"=>array("small","medium","large"));
    print_r(array_keys($array));
    echo "<br>";
    /**结果
    Array ( [0] => 0 [1] => color )
    Array ( [0] => 0 [1] => 3 [2] => 4 )
    Array ( [0] => color [1] => size )
    */

array_reverse

功能:获取数组的反向


    <?php
    $input = array("php",3.0,array("green","red"));
    $result = array_reverse($input); //打乱键名
    $result_keyed = array_reverse($input,TRUE);//保留键名
    print_r($result);
    print_r($result_keyed);
    /**结果
    Array
    (
     [0] => Array
      (
       [0] => green
       [1] => red
      )
     [1] => 3
     [2] => php
    )
    Array
    (
     [2] => Array
      (
       [0] => green
       [1] => red
      )
     [1] => 3
     [0] => php
    )
    */

arsort

功能:逆向排序,索引不变


    <?php
    $fruits = array(
     "a"=>"lemon",
     "b"=>"orange",
     "c"=>"banana",
     "d"=>"apple",
     );
    arsort($fruits);//按照字符逆向排序或数字
    foreach($fruits as $key=>$val){
     echo "$key = $val<br>";
    }
    /**结果
    b = orange
    a = lemon
    c = banana
    d = apple
    */

asort

功能:进行正向排序


    <?php
    $fruits = array(
     "a"=>"lemon",
     "b"=>"orange",
     "c"=>"banana",
     "d"=>"apple",
     );
    arsort($fruits);//按照字符逆向排序或数字
    foreach($fruits as $key=>$val){
     echo "$key = $val<br>";
    }
    echo "<p>";
    asort($fruits);//按照字符正向排序或数字
    foreach($fruits as $key=>$val){
     echo "$key = $val<br>";
    }
    /**结果
    b = orange
    a = lemon
    c = banana
    d = apple
    d = apple
    c = banana
    a = lemon
    b = orange
    */

krsort

功能:按照键名进行逆向排序


    <?php
    $fruits = array(
     "a"=>"lemon",
     "b"=>"orange",
     "c"=>"banana",
     "d"=>"apple",
     );
    krsort($fruits);//按照键名逆向排序或数字
    foreach($fruits as $key=>$val){
     echo "$key = $val<br>";
    }
    /**结果
    d = apple
    c = banana
    b = orange
    a = lemon
    */

ksort

功能:按照键名进行正向排序


    <?php
    $fruits = array(
     "a"=>"lemon",
     "b"=>"orange",
     "c"=>"banana",
     "d"=>"apple",
     );
    ksort($fruits);//按照键名正向排序或数字
    foreach($fruits as $key=>$val){
     echo "$key = $val<br>";
    }
    /**结果
    a = lemon
    b = orange
    c = banana
    d = apple
    */

rsort

功能:按照值进行逆向排序,键名改变


    <?php
    $fruits = array(
     "a"=>"lemon",
     "b"=>"orange",
     "c"=>"banana",
     "d"=>"apple",
     );
    rsort($fruits);//按照值进行逆向排序或数字,键名改变
    foreach($fruits as $key=>$val){
     echo "$key = $val<br>";
    }
    /**结果
    0 = orange
    1 = lemon
    2 = banana
    3 = apple
    */

sort

功能:按照值进行正向排序,键名改变


    <?php
    $fruits = array(
     "a"=>"lemon",
     "b"=>"orange",
     "c"=>"banana",
     "d"=>"apple",
     );
    sort($fruits);//按照值进行逆向排序或数字,键名改变
    foreach($fruits as $key=>$val){
     echo "$key = $val<br>";
    }
    /**结果
    0 = apple
    1 = banana
    2 = lemon
    3 = orange
    */

更多关于PHP相关内容感兴趣的读者可查看本站专题:《PHP数组(Array)操作技巧大全》、《php字符串(string)用法总结》、《php常用函数与技巧总结》、《PHP错误与异常处理方法总结》、《PHP基本语法入门教程》、《php面向对象程序设计入门教程》、《php+mysql数据库操作入门教程》及《php常见数据库操作技巧汇总

希望本文所述对大家PHP程序设计有所帮助。

 相关文章:
PHP分页显示制作详细讲解
SSH 登录失败:Host key verification failed
获取IMSI
将二进制数据转为16进制以便显示
获取IMEI
文件下载
贪吃蛇
双位运算符
PHP自定义函数获取搜索引擎来源关键字的方法
Java生成UUID
发送邮件
年的日历图
提取后缀名
在Zeus Web Server中安装PHP语言支持
让你成为最历害的git提交人
Yii2汉字转拼音类的实例代码
再谈PHP中单双引号的区别详解
指定应用ID以获取对应的应用名称
Python 2与Python 3版本和编码的对比
php封装的page分页类完整实例