文章目录

  • 📋前言
  • 🎯题目一
  • 🎯题目二
  • 🎯知识点回顾
    • 🧩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 流程控制语句的使用。有其他问题和作业的可以私信或者评论区留言,有求必应!
在这里插入图片描述

点赞(25) 打赏

评论列表 共有 0 条评论

暂无评论

微信小程序

微信扫一扫体验

立即
投稿

微信公众账号

微信扫一扫加关注

发表
评论
返回
顶部