• php函数与数组


    PHP数组中常用的函数:

     1.//array_values — 返回数组中所有的值 

     $array = array("name"=>"zhangsan","age"=>"10","sex"=>"man");
    
      $tem= array_values($array);
    
      echo "<pre>";
      print_r($tem);
      echo "</pre>";
    输出结果如下:

      



    2.array_keys — 返回数组中部分的或所有的键名  
    $array = array("name"=>"zhangsan","age"=>"10","sex"=>"man");
    
      $tem= array_keys($array);
    
      echo "<pre>";
      print_r($tem);
      echo "</pre>";

    输出结果如下:

      


    3.in_array — 检查数组中是否存在某个值,返回布尔类型(bool)的值  
    $array = array("name"=>"zhangsan","age"=>"10","sex"=>"man");
    
      $tem= in_array("10",$array,false);
      echo "<pre>";
      print_r($tem);
      echo "</pre>";
    其中第三个参数默认false,如果存在则返回1,不存在,则没有返回值。如若设置成true,则会检查类型是否相同,相当于“===” 的效果。

    4.array_flip — 交换数组中的键和值
    $array = array("name"=>"zhangsan","age"=>"10","sex"=>"man");
      $tem= array_flip($array);
      echo "<pre>";
      print_r($tem);
      echo "</pre>";
    输出结果如下:
      

    这里需要注意$array 中的值需要能够作为合法的键名,例如需要是 integer 或者 string。如果值的类型不对将发出一个警告,并且有问题的键/值对将不会翻转。

    如果同一个值出现了多次,则最后一个键名将作为它的值,所有其它的都丢失了。

    5.array_reverse — 返回一个单元顺序相反的数组,例如:
    $array = array("zhangsan",5,"10","sex"=>"man");
       $tem= array_reverse($array);
       echo "<pre>";
       print_r($tem);
       echo "</pre>";
    如图所示:
      


    注意,如果这里的第二个参数,设置为true,则会保留数字的键。非数字的键则不受这个设置的影响,总是会被保留。例:
     $array = array("zhangsan",5,"10","sex"=>"man");
      $tem= array_reverse($array,true);
      echo "<pre>";
      print_r($tem);
      echo "</pre>";
    这里的第二个参数,设置为true,如下图所示:

      

     6.count — 计算数组中的单元数目或对象中的属性个数,例如:

    $array = array("zhangsan",5,"10","sex"=>"man");
      $tem= count($array);
      echo "<pre>";
      print_r($tem);
      echo "</pre>";
    这里的$tem 就是数组的个数,个数为4;

    7.array_count_values — 统计数组中所有的值出现的次数,例如:
     $array = array("zhangsan",5,"10","sex"=>"man",5);
      $tem= count($array);
      echo "<pre>";
      print_r($tem);
      echo "</pre>";
    如下图所示:
      


    8.array_unique — 移除数组中重复的值,接受 array 作为输入并返回没有重复值的新数组。 例如:
      $array = array("zhangsan",5,"10","sex"=>"man",5);
      $tem=array_unique ($array);
      echo "<pre>";
      print_r($tem);
      echo "</pre>";
    如下图所示:

      

     9.array_filter — 用回调函数过滤数组中的单元  ,例如:过滤下面数组中小于3的数组。

      $array = array(1,2,3,4,5);
       //回调函数如下
      function filter($val){
          if($val>3){
              return $val;
          }
      }
      //返回过滤后的数组。 
      $tem = array_filter($array,"filter");
      echo "<pre>";
      print_r($tem);
      echo "</pre>";
    结果如下图所示:

      

    10.array_walk — 使用用户自定义函数对数组中的每个元素做回调处理。成功时返回 TRUE, 或者在失败时返回 FALSE

    $array = array(1,2,3,4,5);
    //回调函数如下
    function walk($val){
        $val=$val*$val;
      //没有返回值 } //使用自定义函数,让每个元素做回调处理 $tem = array_walk($array,"walk"); echo "<pre>"; print_r($tem); echo "</pre>";

    11.array_map — 为数组的每个元素应用回调函数     

    $array = array(1,2,3,4,5);
    //回调函数如下
    function map($val){
        $val=$val*$val;
        return $val;//有返回值
    }
    
    //使用自定义函数,让每个元素做回调处理并组成一个新的数组
    $tem = array_map("map",$array);
    echo "<pre>";
    print_r($tem);
    echo "</pre>";

    原来数组还存在,返回一个新的数组,返回结果如下图所示:

       这里array_map与array_walk 的区别,array_walk 是使数组里的每个元素做回调处理,不返回值;array_map是使数组里的每个元素做回调处理,并返回一个新的数组。

    12.sort — 对数组进行升序排序。sort() 例子

    $array = array(10,2,13,4,50);
    //对数组进行升序排序
    $tem = sort($array);
    echo "<pre>";
    print_r($tem);//函数成功返回值
    echo "<br>";
    //遍历出排序后的数组
    foreach ($array as $key => $val) {
    echo "array [" . $key . "] = " . $val . " ";
    }

    echo "</pre>";
    成功时返回 TRUE, 或者在失败时返回 FALSE。 如下图所示:

    13.rsort — 对数组逆向排序(降序) rsort() 例子
    $array = array(10,2,13,4,50);
    //对数组进行降序排序
    $tem = rsort($array);
    echo "<pre>";
    print_r($tem);//函数成功返回值
    echo "<br>";
    //遍历出排序后的数组
    foreach ($array as $key => $val) {
        echo "array [" . $key . "] = " . $val . "
    "; 
    }
    echo "</pre>";
    成功时返回 TRUE, 或者在失败时返回 FALSE。 如下图所示


    其他排序方式如下图所示:


    14.array_slice — 从数组中取出一段 。array_slice 例子:
    $array = array(10,2,13,4,50,15);
    //截取索引为1开始截取长度为5的数组元素 $tem = array_slice($array,1,5); echo "<pre>"; print_r($tem); echo "</pre>";

    如下图所示:

    15.array_splice — 把数组中的一部分去掉并用其它值取代 。    array_splice 例子

    $array = array(1,2,3,4,5);
    //截取索引为2开始去掉1个长度的数组元素并用元素6来降3取代,注意array_splice的参数不能超过四个,如要添加更多元素,需要建立一个新的数组,将需要添加的元素放进新数组,
    //再将新数组放入array_splice第四个参数即可
     array_splice($array,2,1,6);
    echo "<pre>";
    print_r($array);
    echo "</pre>";

    结果如下图所示:

    16.array_combine —(合并两个数组) 创建一个数组,用一个数组的值作为其键名,另一个数组的值作为其值 。例子:

    //数组1
    $array = array(1,2,3,4);
    //数组2 $array2 = array("zhangsan","lisi","wangwu","zhaoli");
    //合并数组 $tem =array_combine($array,$array2); echo "<pre>"; print_r($tem); echo "</pre>";

     结果如下图:

    17.array_merge — 合并一个或多个数组

    //数组1
    $array = array(1,2,3,4);
    //数组2
    $array2 = array("zhangsan","lisi","wangwu","zhaoli");
    //合并数组
    $tem =array_merge($array,$array2);
    echo "<pre>";
    print_r($tem);
    echo "</pre>";

     结果如下图:

    18.array_intersect — 计算数组的交集。例子:

    //数组1
    $array = array(1,2,3,4,5);
    //数组2
    $array2 = array(3,4,5,6,7);
    //交集
    $tem =array_intersect($array,$array2);
    echo "<pre>";
    print_r($tem);
    echo "</pre>";

     结果如下图:

    19.array_diff — 计算数组的差集。

    注意,返回的是第一个数组当中与第二个数组当中不同的数值,不会返回第二个数组中的值。

    例子:

    //数组1
    $array = array(1,2,3,4,5);
    //数组2
    $array2 = array(3,4,5,6,7);
    //交集
    $tem =array_diff($array,$array2);
    echo "<pre>";
    print_r($tem);
    echo "</pre>";

    如图所示:

     

    20.array_pop — 将数组最后一个单元弹出(出栈)。返回最后一个值,注意:

    返回 array 的最后一个值。如果 array 是空(如果不是一个数组),将会返回 NULL 。 

    $array = array(1,2,3,4,5);
    
    $tem =array_pop($array);
    echo "<pre>";
    print_r($tem);//返回最后一个值为5
    echo "</pre>";

    21.array_push — 将一个或多个单元压入数组的末尾(入栈) 。返回处理之后数组的元素个数。

    $array = array(1,2,3,4,5);
    
    $tem =array_push($array,6);
    echo "<pre>";
    print_r($tem);//返回处理之后数组的元素个数。
    echo "</pre>";

    22.array_shift — 将数组开头的单元移出数组。注意,返回移出的值,如果 array 为 空或不是一个数组则返回 NULL。  

    $array = array(1,2,3,4,5);
    $tem =array_shift($array);
    echo "<pre>";
    print_r($tem);//返回移出的值为1

    echo "</pre>";

    23.array_unshift — 在数组开头插入一个或多个单元 

    $array = array(1,2,3,4,5);
    $tem =array_unshift($array,22);
    echo "<pre>";
    print_r($tem);//返回数组的元素个数

    echo "</pre>";

    24.list();

    //按索引角标顺序来进行解构,但是角标必须从0开始,并且是连续的

    //只对索引数组有效,当遇到关联数组会直接跳过

    $array5 = array("name" => "zhangsan",0 => "lisi",1 =>"wangwu");
    list($a,$b) = $array5;
    echo $a." ".$b;  //结果为lisi,wangwu

    25.each();

    //会返回第一个键值对的一个数组(索引和关联数组的混合形式),

    //当第二次调用是,游标会自动到下一个,即第二个键值对数组;

    $array = array("name" => "fangming",0 => "18", "sex" => "man");
    $iem1 = each($array);
    print_r($iem1);
    echo "<br>";
    $iem2 = each($array);
    print_r($iem2);
      

    26.list,each结合使用

    list($a,$b) = each($array);
    echo $a.":".$b."<br>";
      

    27.利用while循环结合list,each进行遍历

    $array = array("name" => "fangming","age" => "18", "sex" => "man");
    while(list($a,$b) = each($array)){
        echo $a.":".$b."<br>";
    };

    28.reset,重置数组,使游标返回第一位

    reset($array);
    
    
    
     


    
    








     


    
    


    
    


     
    
    
    
    


     
  • 相关阅读:
    Android:在eclipse中快速多行注释的方法
    DB2中若何除去SELECT输入的头信息
    哄骗DB2look重新设立建立优化器访谒操持(1)
    利用DB2look 从头创建优化器访问经营(2)
    运用DB2look重新建立优化器会晤企图(5)
    运用DB2look重新建立优化器访问摒挡(9)
    实例理睬IBM DB2的数据复制、迁移设置装备摆设
    DB2数据库优化的几条根底战略
    使用DB2look从头树立优化器拜候经营(6)
    哄骗DB2look重新创立优化器访谒企图(7)
  • 原文地址:https://www.cnblogs.com/-zhq/p/6563769.html
Copyright © 2020-2023  润新知