猜谜游戏 - If / ElseIf 语句无法正常工作

问题描述 投票:0回答:1

我需要以下代码的帮助:

<?php

$a = $_GET['guess'];
$b = 60;
$c = "Missing Guess Parameter";
$d = "Your guess is too low";
$e = "Your guess is not a number";
$f = "Your guess is too high";
$g = "Congratulations - You are right";

if (!isset($a)) {
  echo $c;
} elseif ($a  < $b) {

  echo $d;
} elseif (!is_numeric($_a)) {

  echo $e;
} elseif ($a  > $b) {

  echo $f;
} else {

  echo $g;
}

?>

当我将此代码提交到自动评分器时,当

$d
我收到
$a=59
时,我收到失败,并显示
$f
,并且当 $a 为 60 时,
$g
未打印出来,我尝试使用
elseif ($a == $b) echo $g
,但是没有任何结果。

我使用 ngrok 和 mamp 将此 PHP 文件提交给自动评分器。

php if-statement
1个回答
0
投票

我相信这是因为您正在检查

!is_numeric($_a)
这里没有定义
$_a
变量。

$_GET['guess'] = 61;
$a = $_GET['guess'];
$b = 60;
$c = "Missing Guess Parameter";
$d = "Your guess is too low";
$e = "Your guess is not a number";
$f = "Your guess is too high";
$g = "Congratulations - You are right";

if (!isset($a)) {
  echo $c;
} elseif ($a  < $b) {

  echo $d;
} elseif (!is_numeric($a)) {

  echo $e;
} elseif ($a  > $b) {

  echo $f;
} else {

  echo $g;
}

查看上述脚本的代码片段。 https://3v4l.org/fHJN5

© www.soinside.com 2019 - 2024. All rights reserved.