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

    本文实例总结了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
    */

    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
    )
    */
  • 相关阅读:
    SAS-决策树模型
    sas 9.4 sid 64bit 到期时间210804 带有EM
    PROC IMPORT 选项
    删除文件夹下各级子目录中的.svn文件
    SAS PROC PRINT 常用选项和语句说明
    SAS 评分卡开发模型变量统计及输出
    Symbol类型是不可枚举的
    将类设置为等于其他类/函数构造函数
    js原生方法promise的实现
    或与非优先级
  • 原文地址:https://www.cnblogs.com/yszr/p/10700622.html
Copyright © 2011-2022 走看看