PHP 学习资料
PHP 学习资料
PHP 学习资料
在 PHP 编程中,流程控制语句用于控制程序的执行顺序,而错误处理和异常处理机制则确保程序在遇到问题时能够稳定运行,并提供有意义的反馈。以下将详细介绍 PHP 中的条件语句、循环语句的使用,以及错误处理和异常处理机制。
一、条件语句
1. if - else 语句
if - else语句是最基本的条件判断结构,用于根据条件的真假来执行不同的代码块。
php">$age = 20;
if ($age >= 18) {echo "你已成年";
} else {echo "你未成年";
}
2. if - else if - else 语句
当需要进行多个条件判断时,可以使用if - else if - else语句。
php">$score = 85;
if ($score >= 90) {echo "成绩为A";
} else if ($score >= 80) {echo "成绩为B";
} else if ($score >= 70) {echo "成绩为C";
} else {echo "成绩为D";
}
3. switch 语句
switch语句用于基于不同条件执行不同的代码块,适用于对同一个变量进行多种不同值的判断。
php">$day = "Monday";
switch ($day) {case "Monday":echo "今天是星期一";break;case "Tuesday":echo "今天是星期二";break;default:echo "其他日期";break;
}
二、循环语句
1. for 循环
for循环常用于已知循环次数的场景,它包含初始化、条件判断和递增 / 递减三个部分。
php">for ($i = 1; $i <= 5; $i++) {echo "当前数字是:$i <br>";
}
2. while 循环
while循环在条件为真时持续执行代码块,适用于不确定循环次数,仅根据条件判断是否继续循环的情况。
php">$count = 1;
while ($count <= 3) {echo "计数:$count <br>";$count++;
}
3. do - while 循环
do - while循环与while循环类似,但它会先执行一次代码块,然后再判断条件。
php">$num = 1;
do {echo "数字是:$num <br>";$num++;
} while ($num <= 3);
4. foreach 循环
foreach循环专门用于遍历数组,能够方便地访问数组中的每个元素及其键(如果是关联数组)。
php">$students = array("张三" => 18, "李四" => 20, "王五" => 22);
foreach ($students as $name => $age) {echo "$name的年龄是$age岁。<br>";
}
三、错误处理
1. 错误报告级别设置
通过error_reporting()函数可以设置 PHP 报告哪些类型的错误。例如,显示所有错误:
error_reporting(E_ALL);
2. 自定义错误处理函数
可以使用set_error_handler()函数来定义自己的错误处理函数,当 PHP 遇到错误时会调用该函数。
php">function customError($errno, $errstr) {echo "错误编号:$errno <br>";echo "错误信息:$errstr <br>";
}
set_error_handler("customError");
// 触发一个错误
$test = 1 / 0;
3. 错误抑制运算符
在可能产生错误的表达式前加上@符号,可以抑制该表达式产生的错误信息输出。
php">@$test = 1 / 0;
但这种方式应谨慎使用,因为它可能会掩盖一些潜在的问题。
四、异常处理
1. 抛出异常
使用throw关键字抛出一个异常对象,异常对象通常是Exception类或其子类的实例。
php">function checkAge($age) {if ($age < 18) {throw new Exception("年龄必须大于等于18岁");}echo "年龄合法";
}
try {checkAge(15);
} catch (Exception $e) {echo "捕获到异常:". $e->getMessage();
}
2. try - catch 块
try块中放置可能抛出异常的代码,catch块用于捕获并处理异常。可以有多个catch块来处理不同类型的异常。
php">try {$file = fopen("nonexistent.txt", "r");
} catch (ErrorException $e) {echo "文件读取错误:". $e->getMessage();
}
3. finally 块
finally块中的代码无论是否发生异常都会被执行,常用于释放资源等操作。
php">try {$file = fopen("example.txt", "r");// 执行文件操作
} catch (ErrorException $e) {echo "文件读取错误:". $e->getMessage();
} finally {if (isset($file)) {fclose($file);}
}
掌握好 PHP 的流程控制语句和错误处理、异常处理机制,能够帮助开发者编写更加健壮、可靠的程序,提高程序的稳定性和可维护性。在实际开发中,应根据具体的业务需求和场景,合理运用这些知识来解决各种问题。