文章目录
前言
本次文章将分为三部分内容展开,分别是数组、函数以及面向对象编程,详情如下。
一、PHP数组
1.数组的概念
思考:如何保存一个班级的所有学生、一个公司的全部员工等的相关信息
回答:一种方法,利用前面学习过的知识,则每一条信息都需要一个变量去保存,缺点是这样做很麻烦,而且容易出错,又不合理;另一种方法就是利用数组。
概念:数组就是一个可以存储一组或一系列数值的变量。
目标:将多个互相关联的数据,组织在一起形成一个合集,作为一个单元使用
数组构成:数组是由一个或多个数组元素组成的
数组元素:每一个数组元素由键(Key)和值(Value)构成
键:“键”为元素的识别名称,也被称为数组下标
值:“值”为元素的内容
映射:“键”和“值”之间存在一种对应关系,称之为映射
类型划分:根据键的数据类型,可以将数组划分为索引数组和关联数组
索引数组
索引数组是指键名为整数的数组。默认情况下,索引数组的键名是从0开始,并依次递增。它主要适用于利用位置(0、1、2、……)来标识数组元素的情况,另外索引数组的键名也可以自己指定。
<?php
$arr = ['上午好','下午好','晚上好'];
echo $arr[0];
echo '<hr>';
echo $arr[1];
echo '<hr>';
echo $arr[2];
echo '<hr>';
?>
关联数组
关联数组是指键名为字符串的数组。通常情况下,关联数组元素的“键”和“值”之间有一定的业务逻辑关系。因此,通常使用关数组存储 一系列具有逻辑关系的变量。关联数组的“键”都是字符串,并与“值”之间具有一一对应的关系。
<?php
$age = array("Peter"=>"35","Ben"=>"37","Joe"=>"43");
echo "Peter is".$age['Peter']."years.old";
?>
2.数组的定义和使用
2.1 数组的定义
数组定义方式
- array()语言结构法
- 赋值方式
- 短数组定义法(PHP5.4起增加的)
array()语言结构的方式
array()语言结构中的数组元素使用“键=>值”的方式进行表示,各元素之间使用**逗号(,)**进行分隔。
- 数组在省略键名的设置时,默认从0开始,依次递增加1,因此该数组元素的键名依次为“0、1、2”。
- 除此之外,还可以根据实际需求自定义数组元素的键名,如上述示例中的$sports数组变量,将起第一个元素键名设置为2,第二个元素的键名设置为4
在定义关联数组时“键”则有明确的数据类型要求,具体如下。
- 键只能是整型或字符串型的数据,如果是其它类型,则会执行类型自动转换
- 合法整型的字符串会被转为整型,如"2"转换为2,而“02”则不会被转换,因为其不是一个合法的十进制数值
- 浮点数会被舍去小数部分直接转换成整型,如"2.6"转为2
- 布尔裂隙的true会被转为1,false转为0
- NULL类型会被转为空字符串
- 若数组中存在相同键名的元素时,后面的元素会赋给前面元素的值。
在定义数组时,还可以定义没有任何元素的数组,已经既有索引表示方式、又有关联表示方式的数组元素。
- $mixed数组的元素"b"指定了数字键名为"5"
- "b"元素后的"a"元素会自动将前面最大的数字键名加1后,作为其键名,即5+1得到键名6。
多维数组是包含一个或多个数组的数组。
在多个数组中,主数组中的每一个元素也可以是一个数组,子数组中的每一个元素也可以是一个数组。一个数组中的值可以是另一个数组,另一个数组的值也可以是一个数组,依照这种方式,我们可以创建二维或者三维数组。
赋值方式
使用赋值方式定义数组,实际上就是创建一个数组变量,然后使用赋值运算符直接给变量赋值。
赋值方式定义数组就是单独为数组元素赋值。需要注意的是,赋值方式不能定义一个空数组。
短数组定义法([])
短数组定义法([])与array语法结构相同,只需将array()替换为[]即可
创建一个空数组$arr = array();var_dump($arr);$arrs = [];var_dump($arrs);
<?php
$fruits = array('apple','grape','pear');
echo $fruit[0];
echo '<hr>';
echo $fruit[1];
echo '<hr>';
echo $fruit[2];
echo '<hr>';
?>
<?php
$sports=array(2=>'basketball',4=>'swimming');
echo $sports[2];
echo '<hr>';
echo $sports[4];
echo '<hr>';
?>
<?php
$info=array('id'=>10,'name'=>'Tom','tel'=>18810888188);
echo $info['id'];
echo '<hr>';
echo $info['name'];
echo '<hr>';
echo $info['tel'];
echo '<hr>';
?>
2.2.访问数组
数组定义完成后,若想要查看数组中某个具体的元素,则可以通过”数组名[键]“的方式获取。
另外,若要一次查看数组中的所有元素,则可以利用前面学习过的输出语句函数print_r()和var_dump(),并且通常情况下为了使输出的函数按照一定格式打印,查看时经常与pre标记一起使用。
$arr = [
'纯净水',
'矿泉水',
'苏打水',
];
print_r($arr);
$sub = ['PHP','Java','C','Android'];
$data = ['goods'=>'clothes','num'=>49.90,'sales'=>500];
2.3.遍历数组
所谓遍历数组就是一次访问数组中所有元素的操作。可以使用for循环
<?php
$cars = array("Volvo","BMW","Toyota");
$arrlength = cou