美文网首页
数组的相关处理函数

数组的相关处理函数

作者: 刘宇龙 | 来源:发表于2016-09-23 16:24 被阅读0次
    数组的相关处理函数
    1.数组的键/值操作函数
    
    2.统计数组元素的个数与唯一性
    
    3.使用回调函数处理数组的函数
    
    4.数组的排序函数
    
    5.拆分、合并、分解与结合数组
    
    6.数组与数据结构
    
    7.其他有用的数组处理函数
    

    array_values 返回数组中所有的值

    array_keys 返回数组中所有键名

    <?php
    
      // array_values 返回数组中所有的值
      // array_keys 返回数组中所有键名
      $lamp=array("os"=>"linux","webserver"=>"Apache","num"=>10,"aa"=>"10","ws"=>"Apache","db"=>"MySQL","language"=>"PHP");
    
      print_r($lamp);
      echo '<br>';
      //输出下标连续的索引数组
      // $arr=array_values($lamp);
      //
      // print_r($arr);
      // echo '<br>';
      //用list()遍历
      // list($os,$webserver,$db,$language)=array_values($lamp);
      //
      // echo $os."<br>";
      // echo $webserver."<br>";
      // echo $db."<br>";
      // echo $language."<br>";
    
      // print_r(array_keys($lamp));    全部返回所有键名
      //只返回指定值得键名
      // print_r(array_keys($lamp,"Apache"));
      //加true寻找需要类型、内容都要相等
      print_r(array_keys($lamp,"10",true));
    

    in_array 检查数组中是否存在某个值

      <?php
        //in_array  检查数组中是否存在某个值
        $lamp=array("os"=>"linux",array("a","b"),"webserver"=>"Apache","num"=>11,"aa"=>"10","ws"=>"Apache","db"=>"MySQL","language"=>"PHP","hello"=>null);
    
        print_r($lamp);
        echo '<br>';
        //加true可以查询数组,数组必须是顺序一致,类型,内容一致才行
        if (in_array(array("a","b"),$lamp,true)) {
            echo "在数组中";
        }else{
            echo "不在数组中";
        }
        // array_search  在数组中搜索给定的值,如果成功则返回相应的键名
        echo array_search("MySQL",$lamp);
        //array_key_exists 判断键是否存在
        echo array_key_exists("MySQL",$lamp);
        //isset 判断是否存在,空值判断不了,用array_key_exists判断
        if (isset($lamp['hello'])) {
            echo "在数组中";
        }else{
          echo "不在数组中";
        }
    

    array_flip 交换数组中的键和值,下标如果重复,后面覆盖前边的

    <?php
      // array_flip 交换数组中的键和值,下标如果重复,后面覆盖前边的
      $lamp=array("os"=>"linux","webserver"=>"Apache");
      print_r($lamp);
      echo '<br>';
    
      // $arr=array_flip($lamp);
      // print_r($arr);
    
      //array_reverse  返回一个单元顺序相反的数组,加true保留原来的键值
      $arr=array_reverse($lamp);
      print_r($arr);
    

    count 计算数组中的单元数目或对象中的属性个数

    strlen 计算字符串长度

    <?php
      $lamp=array("os"=>"linux","webserver"=>"Apache");
      print_r($lamp);
      echo '<br>';
    
      // count 计算数组中的单元数目或对象中的属性个数
      // strlen 计算字符串长度
      echo count($lamp);
    
      $web=array(
            "lamp"=>array("os"=>"linux","webserver"=>"Apache","db"=>"MySQL","language"=>"PHP"),"javaEE"=>array("os"=>"Unix","webserver"=>"Tomcat","db"=>"Oracle","language"=>"JSP")
      );
      echo count($web,1);
      //array_count_values 统计数组中所有的值出现的次数,如果出现重复,取第一个
      $lam=array("os"=>"linux","linux","Linux","webserver"=>"Apache");
      print_r($lam);
      echo '<br>';
    
      print_r(array_count_values($lamp));
    

    array_filter 用回调函数过滤数组中的单元

    <?php
      //array_filter 用回调函数过滤数组中的单元
      $arr = array(1,2,3,4,false,5,6,7,8,9,"",-1,-2,-3,4,null,0);
    
      echo "<pre>";
      var_dump($arr);
      echo "</pre>";
      echo '<br>';
    
      echo "<pre>";
      //过滤去除bool、null、0等
      var_dump(array_filter($arr));
      echo "</pre>";
      //过滤去除小于0的
      function myfun($value){
        if($value>=0)
            return true;
        else
            return false;
      }
      echo "<pre>";
      var_dump(array_filter($arr,"myfun"));
      echo "</pre>";
      //过滤去除不是2的倍数
      echo "<pre>";
      var_dump(array_values(array_filter($arr,function($value){
        return !($value%2==0);
      })));
      echo "</pre>";
    

    array_map 将回调函数作用到给定数组的单元上

    <?php
    
      // array_map 将回调函数作用到给定数组的单元上
    
      $arr=array(1,2,3,4,5);
      //数组个数不一样,会用空补齐
      $brr=array("one","two","three");
    
      print_r($arr);
      echo '<br>';
    
      function myfun($v,$bv){
        echo "$v--------$bv <br>";
        return 1;
      }
      $rarr=array_map("myfun",$arr,$brr);
    
      print_r($rarr);
      echo '<br>';
      // 合并数组
      $arr =array(1,2,3,4,5);
      $brr =array("one","two","three");
      $crr =array("aa","bb","cc","dd");
    
      print_r($arr);
      echo '<br>';
    
      $rarr=array_map(null,$arr,$brr,$crr);
    
      echo '<pre>';
      print_r($rarr);
      echo '</pre>';

    相关文章

      网友评论

          本文标题:数组的相关处理函数

          本文链接:https://www.haomeiwen.com/subject/babtyttx.html