PHP服务端开发入门——6、PHP数组

290 阅读3分钟

PHP数组

本节介绍

(1) PHP数组基础

  • 数组概念
  • 索引数组
  • 关联数组

(2) PHP数组操作

  • 索引数组和关联数组混合
  • 数组的添加和修改
  • 数组的删除
  • 数组的排序
  • 数组的更多函数使用

(3) PHP多维数组

  • 二维数组
  • 三维数组

1. PHP数组

(1) PHP数组概念

  • PHP数组可以存储多项数据,其中每个数据由key/value组成,根据key的不同分为:
    • 索引数组:由int类型的索引号作为key
    • 关联数组:由字符串类型作为key
  • 使用函数array()可以创建一个空数组,它接收key=>value的元素,其中:
    • key只能为integer或者string
    • value可以为任意类型
  • 一个PHP数组可以同时含有integer和string类型的键名,因为PHP实际并不区分索引数组和关联数组。

(2) PHP数组key的类型

  • <1>. 数组key只能为数字和字符串,非整数和字符串的键会进行类型转换:
    • 包含有合法整型值的字符串会被转换为整型,例如键名"8"实际会储存为索引号8
    • 布尔值也会被转换成整型,true转换为1,false转换为0
      • $array[true]$array[1]一致
      • $array[false]$array[0]一致
    • 浮点数也会被转换为整型,小数部分舍弃
      • $array[1.2]$array[1]一致
    • NULL会被转化为字符串,即键名null实际会被转换为""
    • 数组和对象不能作为key
  • <2>. 数组的索引key可以不连续
  • <3>. 数组中可以同时包含索引key和字符串key
    • $array = array(
        "name" => "Carry",
        1,
        2,
        3
      ) ;
      

(3) PHP索引数组

  • 有两种创建方法:
    • <1>. 自动创建,默认建立索引,如:
      • $colors=array("red","green","black");
    • <2>. 手动创建,如:
      • $colors=array();
        $colors[0]=“red”;
        $colors[1]=“green”;
        $colors[2]=“black”; 
        
  • 操作:
    • <1>. 元素访问
      • 访问数组中的某个元素使用索引号,如$colors[1]
      • **注意:**如果索引号超过最大值,返回NULL,可使用is_null()函数判断某项元素是否存在。
    • <2>. 获取数组长度
      • count()函数用于返回数组的长度(元素数)。
    • <3>. 遍历数组
      • 一般使用for循环遍历索引数组。

(4) PHP关联数组

  • 关联数组是使用您分配给数组的指定键的数组,键使用字符串表示。
    • <1>. 创建方法1:
      • $age = array("Peter"=>"35","Ben"=>"37","Joe"=>"43") ;
    • <2>. 创建方法2:
      • $age = array() ;
        $age['Peter']="35" ;
        $age['Ben]="37" ;
        $age['Joe]="43" ;
        
  • 关联数组操作
    • <1>. 元素访问
      • 关联数组访问元素是通过对应的key值,如$age["Peter"];
      • 如果key值不存在,则返回NULL;
    • <2>. 数组遍历
      • 关联数组一般使用foreach语句进行遍历;
      • foreach ($variable as $key => $value) {
          echo "$key:$value<br>" ;
        }
        

2. PHP数组操作

(1) PHP数组修改和追加

  • <1>. 追加:
    • 使用不存在的键名或者索引对添加项赋值
    • 如果对给出的值没有指定键名,则取当前最大的整数索引值,而新的键名将是该值加一
  • <2>. 修改:
    • 使用已有索引或者键名进行赋值即为修改操作

(2) PHP数组删除

  • 可以使用unset()函数删除数组中的某个元素
  • **注意:**删除后数组将不会重建索引。如果需要删除后重建索引,可以用array_values()函数。

(3) PHP数组排序

  • <1>. 索引数组排序函数:
    • 以升序对数组排序:sort()
    • 以降序对数组排序:rsort()
  • <2>. 关联数组排序函数:
    • 对关联数组按照键值进行升应排序:asort()
    • 对关联数组按照键进行升序排序:ksort()
    • 对关联数组按照键值进行隆序排序:arsort()
    • 对关联数组按照键进行隆序排序:krsort()

(4) PHP数组更多操作

3. PHP多维数组

(1) PHP二维数组

  • 二维数组是数组的数组,指数组中又包含数组
  • 二维数组元素访问时要使用两层索引
  • 定义:
    • <1>.
      • $a = array() ;
        
        $a[0] = array(
            "k1" => "v1",
            "k2" => "v2",
            "k3" => "v3"
        ) ;
        
        $a[1] = array(
            "k1" => "v4",
            "k2" => "v5",
            "k3" => "v6"
        ) ;
        
    • <2>.
      • $a1 = array(
            "k1" => "v1",
            "k2" => "v2",
            "k3" => "v3"
        ) ;
        
        $a2 = array(
            "k1" => "v4",
            "k2" => "v5",
            "k3" => "v6"
        ) ;
        
        $a = array($a1, $a2) ;
        

(2) PHP三维数组

  • 三维数组是数组的数组的数组
  • 三维数组使用三个索引来选取元素