PHP基础(下)
一.数组
1.数组的基本概念
- 介绍:在 PHP 中,数组是一种非常重要的数据结构,它可以存储多个值。这些值可以是不同的数据类型,包括整数、浮点数、字符串、对象,甚至是其他数组。
2.数组类型
A.索引数组
-
介绍:索引数组使用数字作为索引,从 0 开始。
-
创建数组:
-
直接使用 array() 函数:
$arr = array(1, 2, 3, 4, 5);
-
使用方括号 [] 快捷方式(PHP 5.4 及以上):
$arr = [1, 2, 3, 4, 5];
-
-
数组操作
-
访问元素:
echo $arr[0]; // 输出 1
-
添加元素:
$arr[] = 6; // 在末尾添加元素
-
修改元素:
$arr[0] = 10; // 将第一个元素修改为 10
-
删除元素:
-
使用 unset() 函数:
unset($arr[0]); // 删除索引为 0 的元素
-
-
遍历数组:
-
使用 for 循环遍历索引数组(适用于连续的索引):
<?php $arr = [1,2,3,4,5]; for ($i = 0; $i < count($arr); $i++) { echo $arr[$i]. "\n"; } ?>
-
使用 foreach 循环遍历索引数组或关联数组:
<?php // @:不显示报错信息 @$arr = [1,2,3,4,5]; foreach ($arr as $value) { echo $value. "\n"; } ?>
-
-
B.关联数组
-
介绍:关联数组使用字符串作为索引(键),每个元素都由键和值组成。
-
创建数组:
-
使用 array() 函数:
$arr = array("name" => "qyiao", "age" => 18, "city" => "jiangsu");
-
使用方括号 [] 快捷方式:
$assocArray = ["name" => "qyiao", "age" => 18, "city" => "jiangsu"];
-
-
数组操作:
-
访问元素:
echo $arr["name"]; // 输出 qyiao
-
添加元素:
$arr["email"] = "qyiao@example.com"; // 添加新的键值对
-
修改元素:
$arr["age"] = 20; // 将 age 的值修改为 20
-
删除元素:
-
使用 unset() 函数:
unset($arr["city"]); // 删除键为 city 的元素
-
-
遍历数组:
-
使用 foreach 循环遍历索引数组或关联数组:
<?php // @:不显示报错信息 @$arr = ["张三" => 18,"李四" => 17,"王五" => 19]; foreach ($arr as $key => $value) { echo "name: ". $key. ", age: ". $value. "<br>"; } ?>
-
-
3.数组的内置函数
-
count() 函数
-
介绍:用于计算数组中元素的数量。
-
示例:
$count = count($arr);
-
-
array_push() 和 array_pop() 函数
-
介绍:用于在数组末尾添加和删除元素。
-
示例:
array_push($arr, 7); // 在末尾添加元素 $arr_last = array_pop($arr); // 删除并返回最后一个元素
-
-
array_keys() 和 array_values() 函数
-
介绍:分别返回数组的键和值的数组。
-
示例:
$keys = array_keys($arr); $values = array_values($arr);
-
-
sort() 和 rsort() 函数
-
介绍:分别对数组元素进行升序和降序排序(适用于索引数组)。
-
示例:
sort($indexArray); // 升序排序 rsort($indexArray); // 降序排序
-
4.使用数组接收数据
1.索引数组
-
<!DOCTYPE html> <html lang="en"> <head> <meta charset="UTF-8"> <title>Title</title> </head> <body> <form action="" method="get"> <select name="fruits"> <option value="">选择一种水果</option> <option value="苹果">苹果</option> <option value="橘子">橘子</option> <option value="香蕉">香蕉</option> </select> <input type="submit" name="submit" value="提交"> </form> </body> </html> <?php $fruits=@$_GET['fruits']; // @:不显示报错信息 echo "你选择的是$fruits"; ?>
2.关联数组
-
<!DOCTYPE html> <html lang="en"> <head> <meta charset="UTF-8"> <title>查询学生成绩</title> </head> <body> <form action="" method="get"> 请输入学生姓名:<input type="text" name="student"><br> <input type="submit" name="submit"> </form></body> </html> <?php $grades=array("张三"=>90,"李四"=>85,"小明"=>50); $student=@$_GET['student']; // @:不显示报错信息 $num=@$grades[$student]; // @:不显示报错信息 echo("$student 的成绩为:$num"); ?>
二.函数
1.函数的基本概念
- 介绍:在 PHP 中,函数是一段可重复使用的代码块,用于执行特定的任务。函数可以接收参数,并且可以返回一个值。使用函数可以提高代码的可维护性和复用性,避免代码的重复编写。
2.函数的定义
-
基本结构:
function functionName($parameter1, $parameter2,...) { // 函数体 // 可以包含各种语句和操作 return $result; // 可以返回一个结果(可选) }
-
简单示例:
function add($a, $b) { $sum = $a + $b; // 计算两个数之和 return $sum; }
3.函数的调用
-
介绍:要调用一个函数,只需使用函数名并传递所需的参数(如果有的话)。
-
示例:
$result = add(3, 5); echo $result; // 输出 8
4.函数的参数
-
必需参数
- 介绍:函数可以有一个或多个必需参数,这些参数在调用函数时必须提供。
-
示例:
function greet($name) { echo "Hello, ". $name. "!"; } greet("qyiao"); // 输出 Hello, qyiao!
-
默认参数
- 介绍:可以为参数设置默认值,这样在调用函数时,如果没有提供该参数,将使用默认值。
-
示例:
function greet($name = "World") { echo "Hello, ". $name. "!"; } greet(); // 输出 Hello, World! greet("qyiao"); // 输出 Hello, qyiao!
-
可变参数:
- 介绍:使用 ... 语法可以接收可变数量的参数。
-
示例:
function sum(...$numbers) { $total = 0; foreach ($numbers as $number) { $total += $number; } return $total; } echo sum(1, 2, 3, 4); // 输出 10
5.函数的返回值
-
介绍:函数可以使用 return 语句返回一个值。一旦执行 return 语句,函数将立即结束并返回指定的值。
-
有返回值
function add($a, $b) { return $a + $b; } $result = add(4, 5); echo $result; // 输出 9
-
无返回值
function printMessage($message) { echo $message; } $result = printMessage("This is a message."); echo $result; // 输出 This is a message. 然后输出 NULL
6.匿名函数(闭包)
-
介绍:匿名函数是一种没有名称的函数,通常用于作为其他函数的参数或存储在变量中。
$greet = function($name) { echo "Hello, ". $name. "!"; }; $greet("Alice"); // 输出 Hello, Alice!
-
使用 use 关键字访问外部变量:
$greeting = "Hello"; $greet = function($name) use ($greeting) { echo $greeting. ", ". $name. "!"; }; $greet("qyiao"); // 输出 Hello, qyiao!
三.类和对象
1.类和对象的基本概念
- 介绍:在 PHP 中,类是一种用户自定义的数据类型,它是对象的蓝图或模板,而对象是类的实例。类可以包含属性(变量)和方法(函数),通过类可以将相关的数据和操作封装在一起,提高代码的可维护性和复用性。
2.类的定义
-
基本结构:
class ClassName { // 声明属性 var $var1 var $var2 // 声明方法 function myfunc1($arg1,$arg2){ //方法体 } }
-
简单示例:
class Person{ // 声明属性 var $name; var $age; // 声明方法 function hello(){ echo "My name is $this->name, my age is $this->age"; } } ?>
3.对象的创建和使用
-
创建对象
-
介绍:可以使用 new 关键字来实例化该类的对象。
$person = new Person();
-
-
使用对象
-
介绍:可以通过对象访问类的属性和方法。
$person->name = "qyiao"; $person->age = 18; $person->hello(); // 输出:My name is qyiao, my age is 18
-