前言

在PHP中定义数组非常灵活。与其他许多编程语言中的数组不同,PHP不需要在创建数组时指定数组的大小和类型,甚至无需再使用数组前先行声明,也可以在同一个数组中存储任何类型的数据,PHP支持一维和多维数组,可以由用户创建,也可以由一些特定的数据库处理函数从数据库查询中生成数组,或者从一些其他函数返回数组。在PHP中自定义数组可以使用以下两种方法:

  1. 直接为数组元素赋值即可声明数组
  2. 使用array()函数声明数组

使用上面两种方法声明数组时,不仅可以指定元素的值,还可以指定元素的下标,即键和值都可以由使用者来·定义。

数组的定义

数组中索引值(下标)只有一个的数组称为一维数组,即只有一行数据。在数组中这是最简单的一种,也是最常用的一种。使用直接为数组元素赋值的方法声明一维数组的语法如下:

$arrayName[下标] = 值;

$arrayName是数组的变量名,下标可以是一个字符串或一个整数

由于PHP中数组没有大小限制,所以在为数组初始化的同时对数组进行了声明。下面我们通过实例了解索引数组和关联数组的定义,声明两个数组变量,数组变量名分别为$arr1和$arr2.在变量名后面通过方括号“[]”中使用数字声明索引数组,使用字符串声明关联数组,代码如下:

<?php
//索引数组的定义
echo "索引数组:\n";
$arr1[0] = 1;
$arr1[1] = '张三';
$arr1[2] = '五年级1班';
$arr1[3] = '11001';

print_r($arr1);


//关联数组的定义
echo "关联数组:\n";
$arr2['ID'] = 1;
$arr2['姓名'] = '张三';
$arr2['班级'] = '五年级1班';
$arr2['学号'] = '11001';

print_r($arr2);
?>

执行结果如下:

【web 开发基础】PHP 中数组的定义和使用_变量名

有时在调试时,如果只想在程序中查看一下数组中所有元素的下标和值,可以使用print_r()或var_dump()函数打印数组中的所有元素,print_r()只输出数组,var_dump()会同时输出元素的数据类型。上面的代码中声明了$arr1和$arr2两个数组,每个数组中都有4个元素。因为PHP中的数组没有大小限制,所以可以在上面的两个数组中用同样的方法继续添加新的元素。数组声明后,访问的方式也是通过在变量名后面使用方括号“[]”传入下标,即可访问到数组中的具体的元素。

<?php
//索引数组的定义
echo "索引数组:\n";
$arr1[0] = 1;
$arr1[1] = '张三';
$arr1[2] = '五年级1班';
$arr1[3] = '11001';

print_r($arr1);
echo "索引数组单个元素访问:\n";
echo "ID".$arr1[0]."\n";
echo "姓名".$arr1[1]."\n";
echo "班级".$arr1[2]."\n";
echo "学号".$arr1[3]."\n";

//关联数组的定义
echo "关联数组:\n";
$arr2['ID'] = 1;
$arr2['姓名'] = '张三';
$arr2['班级'] = '五年级1班';
$arr2['学号'] = '11001';

print_r($arr2);
echo "关联数组单个元素访问:\n";
echo "ID".$arr1['ID']."\n";
echo "姓名".$arr1['姓名']."\n";
echo "班级".$arr1['班级']."\n";
echo "学号".$arr1['学号']."\n";
?>

执行结果:

【web 开发基础】PHP 中数组的定义和使用_PHP_02

在声明数组的时候,当你没有给元素声明下标,默认为索引数组,数组的下标默认从0开始索引依次递增。

<?php
//索引数组的定义
echo "索引数组:\n";
$arr1[] = 1;
$arr1[] = '张三';
$arr1[] = '五年级1班';
$arr1[] = '11001';

print_r($arr1);
echo "索引数组单个元素访问:\n";
echo "ID".$arr1[0]."\n";
echo "姓名".$arr1[1]."\n";
echo "班级".$arr1[2]."\n";
echo "学号".$arr1[3]."\n";

?>

执行结果:

【web 开发基础】PHP 中数组的定义和使用_数组_03