PHP基础教程之数组函数

2023-06-20 15:26:08 函数 数组 基础教程

数组函数是PHP中最常用的函数之一,它可以用于数组的创建、操作和管理。在开发应用程序时,使用数组函数可以大大提高开发的效率。本文将介绍PHP中数组函数的一些基本用法和例子,帮助大家更好地理解和掌握数组函数。

一、数组的创建和初始化

PHP中的数组可以通过以下方式创建:

//通过array()函数创建数组
$arr = array("a", "b", "c");

//通过[]运算符创建数组
$arr = ["a", "b", "c"];

通过以上两种方法创建的数组都是索引数组,其下标从0开始顺序递增,也可以手动指定下标,如下所示:

$arr1 = array(0 => "a", 1 => "b", 2 => "c");
$arr2 = [0 => "a", 1 => "b", 2 => "c"];

以上是数组的基本创建和初始化方法。接下来,我们将介绍几个常用的数组函数。

二、统计数组元素个数

统计数组元素个数是开发过程中常见的需求,PHP中提供了两个函数来实现这个功能:count()和sizeof()。它们的作用是一样的,用法也基本相同。看下面的例子:

//定义数组
$arr = array("a", "b", "c");

//使用count()函数统计数组元素个数
$num = count($arr);
echo $num;   // 输出:3

//使用sizeof()函数统计数组元素个数
$num = sizeof($arr);
echo $num;   // 输出:3

以上代码中,count()和sizeof()用法相同,返回值为数组元素个数。

三、遍历数组元素

遍历数组元素,也是PHP数组使用频率较高的功能之一。以下是两种遍历数组的方法:

  1. for循环遍历数组
  2. //定义数组
    $arr = array("a", "b", "c");
    
    //遍历数组元素
    for($i=0; $i<count($arr); $i++){
        echo $arr[$i]."<br/>";
    }

    以上代码使用for循环遍历数组元素,效果如下:

    a
    b
    c
    1. foreach遍历数组
    2. //定义数组
      $arr = array("name" => "tom", "age" => 20, "hobby" => "running");
      
      //遍历数组元素
      foreach($arr as $key => $value){
          echo $key." : ".$value."<br/>";
      }

      以上代码使用foreach遍历数组元素,输出结果如下:

      name : tom
      age : 20
      hobby : running

      四、数组排序

      数组排序是在开发中常用的一种操作,在PHP中,数组排序分为两种类型:索引数组排序和关联数组排序。

      1. 索引数组排序
      2. //定义数组
        $arr = array("d", "a", "c", "b");
        
        //使用sort()函数进行排序
        sort($arr);
        print_r($arr);  // 输出:Array ( [0] => a [1] => b [2] => c [3] => d )

        以上代码使用sort()函数对索引数组进行排序,返回的结果为升序排列的数组。

        1. 关联数组排序

        关联数组排序,需要对关键字进行排序,可以使用ksort()或者asort()函数。ksort()函数按照关键字的升序进行排序,而asort()则按照关键字的降序进行排序。下面看两个例子:

        //定义数组
        $arr = array("name" => "tom", "age" => 20, "hobby" => "running");
        
        //使用ksort()函数按照关键字的升序进行排序
        ksort($arr);
        print_r($arr);  // 输出:Array ( [age] => 20 [hobby] => running [name] => tom )
        
        //使用asort()函数按照关键字的降序进行排序
        asort($arr);
        print_r($arr);  // 输出:Array ( [name] => tom [hobby] => running [age] => 20 )

        以上代码中,ksort()和asort()函数分别按照关键字的升序和降序排序。

        五、数组去重

        除了排序,数组中重复元素的问题也需要解决。下面介绍两个常用的去重函数。

        1. array_unique()函数

        array_unique()函数可以去除数组中重复的元素,如下所示:

        //定义数组,包含重复元素
        $arr = array(1, 2, 3, 1, 2);
        
        //使用array_unique()函数去重
        $arr = array_unique($arr);
        print_r($arr);  // 输出:Array ( [0] => 1 [1] => 2 [2] => 3 )

        以上代码中,array_unique()函数去除了数组中的重复元素,并返回新的数组。

        1. array_keys()函数

        array_keys()函数可以返回数组中所有的键名,调用一次array_keys()函数并将其返回值和原数组做比较,可以得到一个去除重复元素后的新数组。下面看一个例子:

        //定义数组,包含重复元素
        $arr = array(1, 2, 3, 1, 2);
        
        //使用array_keys()函数去重
        $arr = array_keys(array_flip($arr));
        print_r($arr);  // 输出:Array ( [0] => 1 [1] => 2 [2] => 3 )

        以上代码中,array_flip()函数返回一个交换了数组键和值的新数组,array_keys()函数返回新数组中所有的键名。

相关文章