• php常用数组相关处理函数(1)


    一。数组键/值操作有关的函数
          1.array_values()//返回数组下标默认为索引的
           
           $lamp=array("os"=>"linux","webserver"=>"Apache","db"=>"Mysql");
           $arr=array_values($lamp);
           list($os,$wb,$db,$lang)=$arr; 
           echo $os.'<br>';
           echo $wb.'<br>';
           echo $db.'<br>';
           echo $lang.'<br>';
          
           echo'<pre>';
           print_r($arr);
           echo '</pre>';
           
           2.array_keys()返回数组中数字或字符串的键名
           $lamp=array("os"=>"linux","webserver"=>"Apache","db"=>"Mysql");
           $arr=array_keys($lamp,"Mysql",true);//三个参数,后两个可选,第二个是制定数组哪个参数,第三个要求第二个的参数与数组参数完全吻合
           list($os,$wb,$db,$lang)=$arr; 
           echo $os.'<br>';
           echo $wb.'<br>';
           echo $db.'<br>';
           echo $lang.'<br>';
          
           echo'<pre>';
           print_r($arr);
           echo '</pre>';
           
           3.in_array("a",$b,c)//搜索b中有没有a
            $lamp=array("os"=>"linux","webserver"=>"Apache","db"=>"Mysql");
            if(in_array("linux",$lamp,true)){
                  echo "exit";
            } 
            else{
                  echo "not exit";
            }
           
            4.array_key_exists("a",$b)
            $lamp=array("os"=>"linux","webserver"=>"Apache","db"=>"Mysql");
            if(array_key_exists("os",$lamp)){
                  echo "exit";
            } 
            else{
                  echo "not exit";
            }
        
            5.array_flip(数组)//交换数组中的键和值
            $lamp=array("os"=>"linux","webserver"=>"Apache","db"=>"Mysql");
            array_flip($lamp);
            echo '<pre>';
            print_r($lamp);
            echo'</pre>';//如果转换后的数组键值有重复,则后面的覆盖前面的
           
            6.array_reserve()//返回一个单元顺序相反的数组
     
    二。统计数组元素的个数和唯一性的
        1.count($a,b) //b可选,b的值为0或1,0表示不递归统计数组元素个数,1表示统计
         sizeof();//统计
       
         $lamp=array("os"=>"linux","webserver"=>"Apache","db"=>"Mysql",array(1,2,3));
          echo count($lamp,1);
       
         2.array_count_values()//统计数组中所有的值出现的次数,返回一个数组,原数组的值作为键名,出现的次数作为值
         $user=array(1,2,1,2,3);
         print_r(array_count_values($user)); 
     
         3.array_unique//移除数组中重复的值
         $user=array(1,2,1,2,3);
         print_r(array_unique($user));
          
    三。使用回调函数处理数组的函数 
         1.array_filter()//使用回调函数过滤数组中的值
           $arr=array(1,2,3,4,5,6,-2,-4);
           $arr1=array_filter($arr,"myfun");
            function myfun($n){
                   if($n>0){
                        return true;
                   }
                   else{
                        return false;
                   }
            }
            echo '<pre>';
            print_r($arr1);
            echo '</pre>';
      
         2.array_walk()//数组中的每个成员应用用户函数
           $lamp=array("os"=>"linux","wb"=>"apache","db"=>"mysql");
           array_walk($lamp,"myfun1");
           function myfun1($value,$key){
               echo "the key'{$key}' has the value '$value' <br>";
             }
            //还可以有第三个参数,这个参数用于传到function中
            $lamp=array("os"=>"linux","wb"=>"apache","db"=>"mysql");
           array_walk($lamp,"myfun1","===");
           function myfun1($value,$key,$p){
               echo "the key'{$key}' has '{$p}the value '$value' <br>";
             }
          //还可以用传引用的方式,使原数组发生变化
          $lamp=array("os"=>"linux","wb"=>"apache","db"=>"mysql");
           array_walk($lamp,"myfun1");
           function myfun1(&$value,$key,$p){
               $value="web";
             }
           echo '<pre>';
           print_r($lamp);
           echo '</pre>';
     
         3.array_map()//将回调函数作用在指定的数组单元中
          $lamp=array("os"=>"linux","wb"=>"apache","db"=>"mysql");
          $arr=array_map("myfun",$lamp);
          function myfun($n){
              return "==".$n."==";
          }
         //后面的参数可以再加数组,但数组中的元素要和原数组相同
          $lamp=array("os"=>"linux","wb"=>"apache","db"=>"mysql");
          $lp=array("os"=>"windows","wb"=>"iis","db"=>"sql");
          $arr=array_map("myfun",$lamp,$lp);
          function myfun($n,$t){
               if($n==$t){
                     return "same";
               }
               else{
                     return "different";
               }
          }
           print_r($arr);
     
  • 相关阅读:
    查询安装webpack4.0是否成功时提示无法找到的解决方法
    clientHeight—scrollHeight—offsetHeight三者的区别
    onunload事件不触发的探索
    你知道刷社保卡看病买药也能扫二维码支付吗?(以成都市社保卡为例)
    成都市新社保卡线上申请方法(无需线下办理,手机直接搞定)
    jquery实现移动端页面加载后,向上滚动指定距离无效引起的探索
    社保官网查询密码重置及注册(以成都为例)
    社保对线上购买保险时2个你不知道的影响(最后一个真的太坑爹,中招的人肯定不在少数)
    坑爹的京东E卡
    Mongodb(一)
  • 原文地址:https://www.cnblogs.com/meng520/p/3543257.html
Copyright © 2020-2023  润新知