PHP 课后习题解析与笔记——流程控制语句习题

文章目录

  • 前言
  • 题目一
  • 题目二
  • 知识点回顾
    • if...else
    • switch
    • while
    • do...while
    • for
    • foreach
  • 最后


PHP 课后习题解析与笔记——流程控制语句习题_第1张图片

前言

这篇文章记录一下帮助粉丝朋友解决的 PHP 课后习题,内容很基础,是关于 PHP 流程控制语句的使用练习,题目内容如下图的两题。这里我用 vscode 编译器和 Wampserver 完成这些题目。
PHP 课后习题解析与笔记——流程控制语句习题_第2张图片
PHP 课后习题解析与笔记——流程控制语句习题_第3张图片


题目一

php编写函数实现:输入一个整数,判断它能否被 3、5、7 整除,并输出以下信息之一:

  • 能同时被3、5、7整除
  • 能同时被3、5整除
  • 能同时被 3、7整除
  • 能同时被 5、7整除
  • 只能被3、5、7中的一个整除
  • 不能被3、5、7任一个整除
  • 要求:使用函数或方法实现

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 "
"
; echo func(35); echo "
"
; echo func(21); echo "
"
; echo func(15); echo "
"
; echo func(9); echo "
"
; echo func(10); echo "
"
; echo func(28); echo "
"
; echo func(11); ?>

PHP 课后习题解析与笔记——流程控制语句习题_第4张图片
在上述函数中,我们首先使用模运算符来判断输入的整数 $number 是否能够被 3、5、7 整除。然后根据不同情况返回不同的信息。最后,如果都不满足,则意味着该整数不能被 3、5、7 中的任何一个整除。


题目二

编程实现判断一个字符串是否是 “回文串” 。所谓 “回文串” 是指一个字符串的第一位与最后一位相同,第二位与倒数第二位相同。例如:“159951”、“19891” 是回文串,而 “2011” 不是。

  • 要求:用带有一个输入参数的方法或函数实现,返回值类型为布尔类型。

function is_palindrome($str) {
    return $str == strrev($str);
 }
 
 // 测试样例
 var_dump(is_palindrome("159951")); // true
 echo "
"
; var_dump(is_palindrome("19891")); // true echo "
"
; var_dump(is_palindrome("2011")); // false ?>

PHP 课后习题解析与笔记——流程控制语句习题_第5张图片
这个函数使用了 PHP 内置函数 strrev() 将该字符串反转,然后与原始字符串进行比较。如果两个字符串相等,则返回 true 表示该字符串是一个回文串,否则返回 false 表示该字符串不是一个回文串。

另一种解法(符合本次课后习题的解法)


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 "
"
; var_dump(is_palindrome("19891")); // true echo "
"
; var_dump(is_palindrome("2011")); // false ?>

PHP 课后习题解析与笔记——流程控制语句习题_第6张图片
这个函数接收一个字符串参数 $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 流程控制语句的使用。有其他问题和作业的可以私信或者评论区留言,有求必应!
在这里插入图片描述

你可能感兴趣的:(#,PHP,php,流程控制语句,课后习题,Wampserver,vscode)