2.3PHP类型之数组(Array)

1.索引数组

  • 索引数组的索引是隐式的整数类型。
  • 索引数组的索引是有序的,包含 length 个元素的数组从 0 索引到 length-1
  • 索引数组的元素可以是任意类型,且不必都属于同一个类型,可以随时改变类型。
  • 索引数组的元素的个数可以动态改变,可以向数组添加、更改、删除元素。
  • 索引数组的元素允许重复的元素。
//array()语言结构创建方式
$arr = array(value1, value2, valueN);

//[]字面量创建方式
$arr = [value1, value2, valueN];

2.关联数组

  • 关联数组的键(key)可以是整数(int)或字符串(string)类型,且不必都属于同一个类型。
  • 关联数组的键是无序的。
  • 关联数组的多个元素如果使用相同的键名,则只有最后一个元素会被使用,其它的元素都会被最后一个元素覆盖。
  • 关联数组的元素可以是任意类型,且不必都属于同一个类型,可以随时改变类型。
  • 关联数组的元素的个数可以动态改变,可以向数组添加、更改、删除元素。
  • 关联数组的元素允许重复的元素。
//array()语言结构创建方式
$arr = array(key1  => value1, key2 => value2, keyN => valueN);

//[]字面量创建方式
$arr = [key1  => value1, key2 => value2, keyN => valueN];

3.混合数组

键(key) 为可选项。如果未指定,PHP 将自动使用之前用过的所有的 int 键中最大的键加上 1 作为新的键。

$array = array(
         "a",
    7 => "b",
    6 => "c",
         "d",
);
var_dump($array);

//输出
array(4) {
  [0]=>
  string(1) "a"
  [7]=>
  string(1) "b"
  [6]=>
  string(1) "c"
  [8]=>
  string(1) "d"
}

4.多维数组

数组的元素还可以是其它数组,这称之为多维数组。

$array = array(
    "foo" => "bar",
    42    => 24,
    "multi" => array(
         "dimensional" => array(
             "array" => "foo"
         )
    )
);

var_dump($array["foo"]);
var_dump($array[42]);
var_dump($array["multi"]["dimensional"]["array"]);

//输出
string(3) "bar"
int(24)
string(3) "foo"

5.访问数组

//查询
$b = $arr[index];
$b = $arr['key'];
$b = $arr["key"];

//更改
$arr[index] = value;
$arr['key'] = value;
$arr["key"] = value;

//删除指定键对应的元素(不会重建索引)
unset($arr[index]);
unset($arr['key']);
unset($arr["key"]);

//删除整个数组中所有的元素(不会重建索引)
unset($arr);

6.数组长度

count($arr);

//sizeof()函数是count()的别名
sizeof($arr);

原创文章,作者:huoxiaoqiang,如若转载,请注明出处:https://www.huoxiaoqiang.com/php/phplang/28889.html

(0)
上一篇 2023年7月2日
下一篇 2023年7月4日

相关推荐

  • 1.5PHP语言的类型(Type)

    1.标量类型之整数(int)类型 如果给定的一个数值超出了 int 的范围,则将会被解释为 float。同样如果执行的运算结果超出了 int 的范围,则也会返回 float。 类型 是否精确 范围 int 精确 -9 223 372 036 854 775 8…

    PHP语言教程 2023年6月5日
    0450
  • 2.10PHP语言的特性(Attribute)类

    1.特性(Attribute)类声明 声明一个特性类,首先从全局命名空间 use 导入 #[Attribute] 特性,然后在普通类声明上添加 #[Attribute] 特性以表示此类为特性类。 特性目标 描述 Attribute::TARGET_ALL 不限制用于具体哪一个。 Attribute::TARGET_CL…

    PHP语言教程 2023年7月10日
    0200
  • 2.5PHP类型之接口(Interface)

    1.接口声明 接口体中可以包含静态方法、实例方法、构造函数(不推荐)、析构函数(不推荐)、魔术方法、类常量。 接口中的所有方法只可以定义方法签名,不可以定义方法的具体实现。 接口可以继承,但不可以实例化。 注意:接口中的所有方法与抽象方法的语法不同,接口中的所有方法不可以添加 abstract 关键字。 注意:接口中的…

    PHP语言教程 2023年7月5日
    0230

发表回复

登录后才能评论