如何摆脱"意想不到的' elseif' (T_ELSEIF)" PHP中的错误?

时间:2017-10-23 06:03:56

标签: php

嘿伙计们所以我的任务是使用一个从1到100的随机数的变量打印出一个卷。如果音量小于30,它必须打印出我的代码中列出的一定大小的静音文本如果卷小于70,则使用另一个称为normal的文本也是一样的。但是,当我尝试实现if语句时,我不断收到Parse错误:语法错误,意外' elseif' (T_ELSEIF)在第17行的C:\ xampp \ htdocs \ PracticeLabExam \ task3.php中,并且不明白我做错了什么

<html>
<title> Task 3 </title>
<style>
  p { width: 75%; margin: auto; color:blue; background-color: silver;
      padding:20px;  }
</style>
<body>
<h1> Task 3: PHP Program #1 </h1>
<?php 
    $number = mt_rand(1,100);
?>
<p style="text-align: center"> Volume is <?php echo $number; ?></p>
<?php 
     if($number < 30) { 
        ?> <p style="font-size: 0.5em; text-align: center"> quiet </p>
     } 
     <?php elseif($number < 70 && $number > 30) { ?>
        <p style="font-size: 1.25em; text-align: center"> normal </p>
     } 
     <?php else { ?>
        <p style="font-size: 3em; text-align: center"> loud </p>
    } 


</body>

</html>

如果我尝试改变它:

<?php 
     if($number < 30) { 
        ?> <p style="font-size: 0.5em; text-align: center"> quiet </p>
     } 
     <?php if($number < 70 && $number > 30) { ?>
        <p style="font-size: 1.25em; text-align: center"> normal </p>
     } 
     <?php if($number >= 70) { ?>
        <p style="font-size: 3em; text-align: center"> loud </p>
    } 


</body>
</html>

我得到Parse错误:语法错误,第27行的C:\ xampp \ htdocs \ PracticeLabExam \ task3.php中的文件意外结束

请帮忙。

4 个答案:

答案 0 :(得分:0)

<?php 
     if($number < 30) { 
        ?> <p style="font-size: 0.5em; text-align: center"> quiet </p>
<?php } ?> 
     <?php elseif($number < 70 && $number > 30) { ?>
        <p style="font-size: 1.25em; text-align: center"> normal </p>
<?php } ?> 
     <?php else { ?>
        <p style="font-size: 3em; text-align: center"> loud </p>
<?php } ?> 

答案 1 :(得分:0)

<?php 
     if($number < 30) { 
        ?> <p style="font-size: 0.5em; text-align: center"> quiet </p><?php
     } 
     if($number < 70 && $number > 30) { ?>
        <p style="font-size: 1.25em; text-align: center"> normal </p><?php
     } 
     if($number >= 70) { ?>
        <p style="font-size: 3em; text-align: center"> loud </p><?php
    } 
?>

</body>
</html>

答案 2 :(得分:0)

您没有关闭PHP代码。这就是为什么PHP还会呈现应该在PHP标记之外的HTML标记。

<?php 
    if($number < 30) { 
?>
        <p style="font-size: 0.5em; text-align: center"> quiet </p>
<?php
    } 
    else if($number < 70 && $number > 30) {
?>
        <p style="font-size: 1.25em; text-align: center"> normal </p>
<?php
    } 
    else if($number >= 70) {
?>
        <p style="font-size: 3em; text-align: center"> loud </p>
<?php
    } 
?>

</body>
</html>

而且,你的代码有点乱。尽量清理一下。我建议使用else if代替多个if语句。

答案 3 :(得分:0)

错误表明您没有关闭其中一个if语句。这是因为您的右括号}不在PHP标记内,而是被解释为HTML。

我建议使用嵌入式if / else语句。您的代码将更清晰,更易于阅读。

<?php if($number < 30): ?>
    <p style="font-size: 0.5em; text-align: center"> quiet </p>
<?php elseif($number < 70 && $number > 30): ?>
    <p style="font-size: 1.25em; text-align: center"> normal </p>
<?php else: ?>
    <p style="font-size: 3em; text-align: center"> loud </p>
<?php endif; ?>

请参阅http://php.net/manual/en/control-structures.alternative-syntax.php