文章目录
- 📋前言
- 🎯题目一
- 🎯题目二
- 🎯知识点回顾
- 🧩if...else
- 🧩switch
- 🧩while
- 🧩do...while
- 🧩for
- 🧩foreach
- 📝最后
📋前言
这篇文章记录一下帮助粉丝朋友解决的 PHP
课后习题,内容很基础,是关于 PHP
流程控制语句的使用练习,题目内容如下图的两题。这里我用 vscode
编译器和 Wampserver
完成这些题目。
🎯题目一
php编写函数实现:输入一个整数,判断它能否被 3、5、7 整除,并输出以下信息之一:
- 能同时被3、5、7整除
- 能同时被3、5整除
- 能同时被 3、7整除
- 能同时被 5、7整除
- 只能被3、5、7中的一个整除
- 不能被3、5、7任一个整除
- 要求:使用函数或方法实现
<?php
function func($number) {
if ($number % 3 === 0 && $number % 5 === 0 && $number % 7 === 0) {
return $number." 能同时被3、5、7整除";
} elseif ($number % 3 === 0 && $number % 5 === 0) {
return $number." 能同时被3、5整除";
} elseif ($number % 3 === 0 && $number % 7 === 0) {
return $number." 能同时被3、7整除";
} elseif ($number % 5 === 0 && $number % 7 === 0) {
return $number." 能同时被5、7整除";
} elseif ($number % 3 === 0) {
return $number." 只能被3整除";
} elseif ($number % 5 === 0) {
return $number." 只能被5整除";
} elseif ($number % 7 === 0) {
return $number." 只能被7整除";
} else {
return $number." 不能被3、5、7任一个整除";
}
}
echo func(105);
echo "<br>";
echo func(35);
echo "<br>";
echo func(21);
echo "<br>";
echo func(15);
echo "<br>";
echo func(9);
echo "<br>";
echo func(10);
echo "<br>";
echo func(28);
echo "<br>";
echo func(11);
?>
在上述函数中,我们首先使用模运算符来判断输入的整数 $number
是否能够被 3、5、7 整除。然后根据不同情况返回不同的信息。最后,如果都不满足,则意味着该整数不能被 3、5、7 中的任何一个整除。
🎯题目二
编程实现判断一个字符串是否是 “回文串” 。所谓 “回文串” 是指一个字符串的第一位与最后一位相同,第二位与倒数第二位相同。例如:“159951”、“19891” 是回文串,而 “2011” 不是。
- 要求:用带有一个输入参数的方法或函数实现,返回值类型为布尔类型。
<?php
function is_palindrome($str) {
return $str == strrev($str);
}
// 测试样例
var_dump(is_palindrome("159951")); // true
echo "<br>";
var_dump(is_palindrome("19891")); // true
echo "<br>";
var_dump(is_palindrome("2011")); // false
?>
这个函数使用了 PHP 内置函数 strrev()
将该字符串反转,然后与原始字符串进行比较。如果两个字符串相等,则返回 true 表示该字符串是一个回文串,否则返回 false 表示该字符串不是一个回文串。
另一种解法(符合本次课后习题的解法)
<?php
function is_Palindrome($str) {
$len = strlen($str);
for ($i = 0; $i < $len / 2; $i++) {
if ($str[$i] !== $str[$len - $i - 1]) {
return false;
}
}
return true;
}
// 测试样例
var_dump(is_palindrome("159951")); // true
echo "<br>";
var_dump(is_palindrome("19891")); // true
echo "<br>";
var_dump(is_palindrome("2011")); // false
?>
这个函数接收一个字符串参数 $str。函数通过计算字符串长度,然后使用循环从头尾同时扫描字符串。如果发现有任何不匹配的字符,就返回 false。如果整个过程没有遇到不匹配的字符,就返回 true,表示该字符串是一个回文串。
🎯知识点回顾
🧩if…else
if...else
语句用于根据给定的条件选择性地执行代码块。它的基本语法如下:
if (condition) {
// code block to be executed if the condition is true
} else {
// code block to be executed if the condition is false
}
🧩switch
switch
语句用于根据不同的条件执行不同的代码块。它可以替代多个 if...else
语句。它的基本语法如下:
switch (expr) {
case value1:
// code block to be executed if expr = value1
break;
case value2:
// code block to be executed if expr = value2
break;
...
default:
// code block to be executed if none of the above conditions are true
}
🧩while
while
循环语句用于重复执行一段代码,只要指定的条件满足。它的基本语法如下:
while (condition) {
// code block to be executed repeatedly as long as the condition is true
}
🧩do…while
do...while
循环语句与 while
循环语句类似,但是它会首先执行一次代码块,然后再判断条件是否满足。它的基本语法如下:
do {
// code block to be executed at least once, then repeatedly as long as the condition is true
} while (condition);
🧩for
for
循环语句用于重复执行一段代码,指定循环的起始值、结束值和步长。它的基本语法如下:
for (init; condition; increment) {
// code block to be executed repeatedly until the condition is false
}
🧩foreach
foreach
循环语句用于遍历数组中的每个元素,并执行相应的代码块。它的基本语法如下:
foreach ($array as $value) {
// code block to be executed for each value in the array
}
📝最后
这就是 PHP
课后习题——流程控制语句习题的全部内容了,内容很基础,通过这个练习,可以熟悉 PHP
流程控制语句的使用。有其他问题和作业的可以私信或者评论区留言,有求必应!