php 为什么它总是返回if/ifelse/else语句的第一个语句?

w8f9ii69  于 2023-01-04  发布在  PHP
关注(0)|答案(1)|浏览(129)
<?php
     $type = rand(0,1).PHP_EOL;
     echo $type;
     if ($type == 0) {
          include_once 'include/types of lections/type1.php';
     } elseif ($type == 1) {
          include_once 'include/types of lections/type2.php';
     } else {
          include_once 'include/types of lections/type3.php';
     }
?>

我想随机包含三种不同类型的经文。在代码中我使用了echo $类型;是随机的(0或1),但它总是包含type1.php。谢谢您的帮助。

oyxsuwqo

oyxsuwqo1#

您的代码存在两个问题:

1.rand(0,1)将始终返回0或1,因此$type将始终为0或1,并且else块将永远不会执行。
**2.**您正在使用==$type与整数值0和1进行比较。这没有错,但更常见的是使用===来比较变量的值和类型。在本例中,$type是一个字符串,因为它与PHP_EOL连接在一起,所以使用===会使比较更准确。
**3.**您正在使用include_once包含文件。这将仅包含以前未包含的文件。如果您希望每次都包含该文件,则应改用include

相关问题