数组在内存中就是一个有序的内存地址,是连续的。
基本语法:数组一共分为两大类
①索引型数组(其实也有键,其键名都是从0开始,每次加1)
$array = array(‘孙悟空’,500,‘花果山水帘洞’);
索引型数组非常简单,只需要把我们要存储的数据放在圆括号中,元素与元素之间使用逗号,进行隔开即可。
②关联型数组
$array = array(
//键=>值对
‘name’=>‘孙悟空’,
‘age’=>500,
‘address’=>’花果山水帘洞’
);
使用所学的PHP知识保存一个人的信息,姓名:孙悟空,年龄:500,家庭住址:花果山水帘洞。
demo01_array.php 示例代码:
姓名:孙悟空(字符串类型)
年龄:500(整型)
家庭住址:花果山水帘洞(字符串类型)
以上代码虽然可以保存一个人的信息,我们知道,姓名、年龄、家庭住址都是属于一个人的,应该是相互关联的,但是从以上代码无法体现数据的关联。
demo02_array.php 示例代码:
②关联型数组
①索引型数组
$数组名称[数字键名]
②关联型数组
$数组名称[文本键名]
demo03_fangwen.php 示例代码:
demo04_fangwen.php 示例代码:
①索引型数组可以使用for循环或foreach循环进行遍历
for循环:demo06_for.php 示例代码:
foreach循环,基本语法:
foreach($遍历的数组 as [$key=>]$value) {
//1、系统会自动判断$遍历的数组中有多少个元素,有几个就自动遍历几次
//2、每次循环时,系统会自动将键名(0 1 2...)自动放入$key中
//3、每次循环时,系统会自动将键值(刘备,关羽...)自动放入$value中
}
demo06_for.php示例代码:
②关联型数组只能通过foreach进行遍历
demo07_foreach.php 示例代码:
要使用到的知识点:获取数组元素的个数,叫count(数组名称)函数
demo05_count.php 示例代码:
一定一定要特别注意:索引型数组既可以使用for循环也可以使用foreach循环。但是关联型数组只能使用foreach循环进行遍历。
6、引入多维数组的概念(二维数组)提出问题:在数组中,如何保存多个人的信息?
(姓名:刘备,年龄:42,技能:卖草鞋)
(姓名:关羽,年龄:41,技能:卖红枣)
(姓名:张飞,年龄:40,技能:杀猪)
答:可以,使用二维数组
7、二维数组的定义① 定义一个一维数组,确认要存储的元素个数
$persons = array( 1,2,3);
② 在1,2,3位置再放入一个一维的关联型数组
array(‘name’=>’刘备’,’age’=>42,’skill’=>’卖草鞋’)
最终结果:
$persons = array(
array(‘name’=>’刘备’,’age’=>42,’skill’=>’卖草鞋’),
array(‘name’=>’关羽’,’age’=>41,’skill’=>’卖红枣’),
array(‘name’=>’张飞’,’age’=>40,’skill’=>’杀猪’)
);
demo08_erwei.php 示例代码:
二维数组都是外层是索引,内层是关联。
$二维数组[数字索引下标][关联的文本键名];
demo08_rewei.php 示例代码:
for循环遍历二维数组:
foreach循环遍历二维数组: