php基础2

本文详述了PHP中的数组,包括数组的概念、定义、使用、操作符和常用函数。接着介绍了函数的基础,包括定义、调用、参数设置、嵌套调用以及递归调用,还探讨了函数的高级应用,如可变函数、回调函数和匿名函数。通过这篇文章,读者可以深入理解PHP中的数组操作和函数应用。
摘要由CSDN通过智能技术生成


前言

本次文章将分为三部分内容展开,分别是数组、函数以及面向对象编程,详情如下。


一、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
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值