【问题标题】:How do I use "If statement" in echo function for PHP如何在 PHP 的 echo 函数中使用“If 语句”
【发布时间】:2012-08-29 16:58:17
【问题描述】:

例如,我想打印学校的总班级数

如果..该课程只有一门课,它将打印“Total 1 Class” 但是如果该课程中有很多课程,它将打印“Total 15 Classes”

所以,我想使用像

这样的语法
<?php echo "Total ".$attendance_setting->class_number.  
 if($attendance_setting->class_number==1) {echo " Class";} else {echo "
 Classes";} ?>

是否可以,或者我必须在打印之前使用 If 语句。

谢谢

【问题讨论】:

    标签: php if-statement echo


    【解决方案1】:

    您可以为此使用三元运算:

    echo "Total " . $attendance_setting->class_number . " ";
    echo ($attendance_setting->class_number > 0)
         ? echo "Classes"
         : echo "Class";
    

    【讨论】:

      【解决方案2】:

      我一般是这样定义函数的。

      function add_plural_s($int=0){
          return $int > 1 ? 's' : '';
      }
      

      然后我写如下:

      echo 'Class'.add_plural_s($attendance_setting->class_number);
      

      如果不应该是复数则打印Class,如果应该是复数则打印Classs

      但是我刚刚意识到,在您的情况下,它不会像我定义的函数那样工作,因为您需要的不仅仅是s。但无论如何你都明白了。

      【讨论】:

      • 我猜你可以用第二个参数来扩展函数,在复数的情况下指定一个'pre-s'字符串
      • 感谢您的建议,这非常有用,我会适应在其他机会中使用。
      • @mek 很高兴,顺便说一句,如果你喜欢一个答案,你应该投票。哦,你还没有达到最低投票代表?对您感兴趣的问题进行投票即可轻松解决此问题!
      【解决方案3】:

      我只是在回显语句之前执行 if 语句,如下所示:

      <?php 
      
      if($attendance_setting->class_number==1) {
          $class = " Class";
      }
      else {
          $class = " Classes";
      } 
      
      echo "Total " . $attendance_setting->class_number . $class;
      
      ?>
      

      【讨论】:

        【解决方案4】:

        你也可以使用 switch() 语句

        【讨论】:

          【解决方案5】:

          尝试关注

          echo class_number.($attendance_setting->class_number==1)?'class':'classes';
          

          【讨论】:

            猜你喜欢
            • 2013-12-19
            • 1970-01-01
            • 1970-01-01
            • 1970-01-01
            • 2020-01-31
            • 2020-12-07
            • 2012-11-29
            • 1970-01-01
            • 2017-08-10
            相关资源
            最近更新 更多