• PHP学习——数组处理函数(二)


      

    <?php
    /**
     * Created by phpstorm
     * Author: Aka
     * Date: 2019/12/7
     * Time: 19:10
     **/
    //索引数组
    $arr1 = array('this','is','first','array','!');
    //关联数组
    $arr2 = array('firstName'=>'Aka','lastName'=>'Jack','age'=>20,'address'=>"湖南湘潭");
    $arr3 = array('iphoneX'=>5000,'mi9'=>4600,'iphone8'=>6000,'honor_v12'=>4396);
    $arr4 = array('13'=>5000,26=>'Lx','ip'=>6000,'4396'=>'clearLove');
    echo '获取数组中的键(不保持索引关系)','<br>';
    $arr5 = array_keys($arr2);
    var_dump($arr5);
    /*
         array(4) {
              [0]=>
              string(9) "firstName"
              [1]=>
              string(8) "lastName"
              [2]=>
              string(3) "age"
              [3]=>
              string(7) "address"
        }
     */
    echo '获取数组中的键(不保持索引关系)','<br>';
    $arr6 = array_values($arr4);
    var_dump($arr6);
    /*
       array(4) {
          [0]=>
          int(5000)
          [1]=>
          string(2) "Lx"
          [2]=>
          int(6000)
          [3]=>
          string(9) "clearLove"
    }
     */
    echo '交换数组中键和值的位置,若重复前面的,会被后面的覆盖';
    $arr7 = array_flip($arr3);
    var_dump($arr7);
    /*
         array(4) {
              [5000]=>
              string(7) "iphoneX"
              [4600]=>
              string(3) "mi9"
              [6000]=>
              string(7) "iphone8"
              [4396]=>
              string(9) "honor_v12"
        }
    */
    echo '判断给定的值是否在数组中','<br>';
    //返回一个布尔类型的值
    $res = in_array('Jack',$arr2);
    var_dump($res); // bool(true)
    
    
    echo '搜索数组中的某个值,存在则返回它的键,不存在则返回false','<br>';
    //方法一
    $res1 = array_search('clearLove',$arr4);
    echo '这是查找clearLove值返回的值:'.$res1,'<br>'; //这是查找clearLove值返回的值:4396
    echo '给定键是否在数组中存在(返回一个布尔值)','<br>';
    $res2=isset($arr4['4396']);
    var_dump($res2);//bool(true)
    echo '<br>';
    //方法二
    $re3 = array_key_exists('4396',$arr4);
    //var_dump($re3);
    echo '用array_key_exists()方法来判断数组$arr4中是否有相应的key,返回一个布尔类型','<br>',var_dump($re3);
    
    //获取数组元素的个数
    //方法一
    $res4 = count($arr4);
    echo '<br>',$res4,'<br>';   //4
    //方法二
    $res5 = sizeof($arr4);
    echo $res5,'<br>';   //4
    
    echo '修改数组键名的大小写','<br>';
    //array_change_key_case($arr,CASE_LOWER(小写:0)/CASE_UPPER(大写:1))
    $arr8 = array_change_key_case($arr4,1);
    var_dump($arr8);
    foreach ($arr8 as $k=>$value){
        echo '$arr key='.$k,'<br>';
    }
    
    $arr9 = array('Aka'=>'123','Jack'=>'123','con'=>'LX','abstract'=>'LX',1=>'lX',2=>'Lx',6=>'lx',777=>'zero',4396=>'zero');
    var_dump($arr9);
    //统计前
    /*
     array(9) {
          ["Aka"]=>
                    string(3) "123"
          ["Jack"]=>
                    string(3) "123"
          ["con"]=>
                    string(2) "LX"
          ["abstract"]=>
                    string(2) "LX"
          [1]=>
                    string(2) "lX"
          [2]=>
                    string(2) "Lx"
          [6]=>
                    string(2) "lx"
          [777]=>
                    string(4) "zero"
          [4396]=>
                    string(4) "zero"
    }
     */
    echo '<br>';
    echo '统计数组中所有的值出现的次数,返回值是一个数组','<br>';
    $arr10 = array_count_values($arr9);
    var_dump($arr10);
    //统计后生成的数组,被通缉的元素做键,统计的数字做值
    /*
         array(6) {
              [123]=>
                    int(2)
              ["LX"]=>
                    int(2)
              ["lX"]=>
                    int(1)
              ["Lx"]=>
                    int(1)
              ["lx"]=>
                    int(1)
              ["zero"]=>
                    int(2)
        }
    */
    echo '<br>';
    foreach ($arr10 as $key=>$value){
        echo 'key='.$key,'->','value='.$value,'<br>';
    }
    //echo '弹出数组的最后一个元素','<br>';
    $res6 = array_pop($arr4);
    echo '弹出$arr4的最后一个元素$res6:';
    var_dump($res6);
    echo '将一个或多个单元压如数组的末尾','<br>';
    array_push($arr1,'Aka','kaka','tian','dddd');
    echo '在索引数组中压入','<br>';
    var_dump($arr1);
    echo '<br>';
    array_push($arr4,'Aka','kaka','tian','dddd');
    echo '在关联数组中压入','<br>';
    var_dump($arr4);
    echo '将一个或多个单元压如数组的首部','<br>';
    array_unshift($arr4,'Aka','kaka','tian','dddd');
    echo '在关联数组中压入','<br>';
    var_dump($arr4);
    /*
         array(11) {
              [0]=>
              string(3) "Aka"
              [1]=>
              string(4) "kaka"
              [2]=>
              string(4) "tian"
              [3]=>
              string(4) "dddd"
              [4]=>
              int(5000)
              [5]=>
              string(2) "Lx"
              ["ip"]=>
              int(6000)
              [6]=>
              string(3) "Aka"
              [7]=>
              string(4) "kaka"
              [8]=>
              string(4) "tian"
              [9]=>
              string(4) "dddd"
        }
    */
    //将数组反序
    $arr11 = array_reverse($arr2);
    echo '<br>';
    var_dump($arr2);
    /*
     array(4) {
          ["firstName"]=>
          string(3) "Aka"
          ["lastName"]=>
          string(4) "Jack"
          ["age"]=>
          int(20)
          ["address"]=>
          string(12) "湖南湘潭"
    }
    */
    echo '<br>';
    var_dump($arr11);
    /*
        array(4) {
          ["address"]=>
          string(12) "湖南湘潭"
          ["age"]=>
          int(20)
          ["lastName"]=>
          string(4) "Jack"
          ["firstName"]=>
          string(3) "Aka"
        }
    */
    echo '对数组中的所有值求和','<br>';
    $res7 = array_sum($arr3);
    echo '对$arr3的值求和后:'.$res7,'<br>';//19996
    echo '对数组中的所有值求乘积','<br>';
    $res8 = array_product($arr3);
    echo '对$arr3的值求乘积后:'.$res8,'<br>';//6.06648E+14
    
    //除去数组中重复的值
    $arr12 = array_unique($arr9);
    var_dump($arr12);
    /*
     array(6) {
          ["Aka"]=>
          string(3) "123"
          ["con"]=>
          string(2) "LX"
          [1]=>
          string(2) "lX"
          [2]=>
          string(2) "Lx"
          [6]=>
          string(2) "lx"
          [777]=>
          string(4) "zero"
    }
    */
    
    echo '打乱数组$arr12','<br>';
    $arr13 = shuffle($arr12); //返回值为一个布尔型
    var_dump($arr12);
    //打乱后的$arr12
    /*
     array(6) {
          [0]=>
          string(3) "123"
          [1]=>
          string(2) "lX"
          [2]=>
          string(4) "zero"
          [3]=>
          string(2) "lx"
          [4]=>
          string(2) "LX"
          [5]=>
          string(2) "Lx"
    }
    */
  • 相关阅读:
    前端 “一键换肤“ 的 N 种方案及css中var()和:root用法
    给定一个只包括 '(',')','{','}','[',']' 的字符串 s ,判断字符串是否有效
    Python三方模块
    Lazarus+LAMW强制APP屏幕方向
    定制lazarus compiler config
    CentOS8的网络IP配置详解
    mongoDB导入导出
    离线安装docker并导入导出镜像
    Docker初级实战
    dwm 美化
  • 原文地址:https://www.cnblogs.com/kaka6k66k/p/12003161.html
Copyright © 2020-2023  润新知