Php 此开关有什么问题$\u获取错误?
它给了我这个错误: 分析错误:语法错误,中的文件意外结束 第47行的D:\xampp\htdocs\profile.php 这就是我的代码的结尾。Php 此开关有什么问题$\u获取错误?,php,Php,它给了我这个错误: 分析错误:语法错误,中的文件意外结束 第47行的D:\xampp\htdocs\profile.php 这就是我的代码的结尾。 我忘记了什么,因为如果我对这段代码进行注释,它会很好地工作。它应该如下所示: <?php switch (true) : case $_GET['change']: echo 'hello'; break; default: echo 'bye'; break; ?> 来自
我忘记了什么,因为如果我对这段代码进行注释,它会很好地工作。它应该如下所示:
<?php switch (true) :
case $_GET['change']:
echo 'hello';
break;
default:
echo 'bye';
break; ?>
来自
正确的代码是:
<?php
switch ($i) {
case 0:
echo "i equals 0";
break;
case 1:
echo "i equals 1";
break;
case 2:
echo "i equals 2";
break;
default:
echo "i is not equal to 0, 1 or 2";
}
?>
这是因为你错过了终端开关;或者只使用括号{}最好设置括号:
<?php
switch (true) :
case $_GET['change']:
echo 'hello';
break;
default:
echo 'bye';
break;
endswitch;
?>
如果要使用,请查看此警告:
警告
switch语句和第一种情况之间的任何输出(包括空格)都将导致语法错误。例如,这是无效的:
您的开关盒需要一个变量来处理
盒
,如:
<?php
switch ($_GET['change']) {
case true:
echo 'hello';
break;
default:
echo 'bye';
break;
}
?>
您正在使用控制结构的替代语法,这意味着您必须在最后关闭交换机,使用此
<?php
switch($_GET["change"])
{
case "value":
echo "You called this case.";
break; // Stop the switch for being executing futher.
default: // Set default message if the case wasn't found.
echo "Cannot find the case.";
break;
}
?>
制作完整的代码
endswitch
尽管如此,您可以将这段代码简化为以下内容,除非您打算扩展开关/case
结构
switch (true):
case $_GET['change']:
echo 'hello';
break;
default:
echo 'bye';
break;
endswitch;
?>
在任何情况下,只需执行case$\u GET['change']:
即可检查是否包含任何值,而不是它们是什么,或者它是否已设置,因此您可能会收到有关此的警告。如果您打算扩展您的结构,您应该看到@C0dekid的示例-这就是您应该如何构建您的开关/case
您没有为交换机安装正确的外壳,请不要使用“:”但“{”。例如:
echo isset($_GET['change']) ? "hello" : "bye";
了解如何使用它您不能将$\u GET['change']作为case与@jitendrapurohit达成一致如果您只处理两个条件选项,则switch是一种过度使用。只需使用一个简单的if/else语句。或者您是否有更多未显示的代码。如果您需要检查$\u GET['change']==true
你运气不好,因为$\u GET
参数要么是字符串,要么根本没有设置,非空字符串总是==true
。看。是的,当然,他忘了endswitch…但是这些问题不应该被删除吗?是的,但是有6个答案现在不能删除。还有一个问题,这是正确的url吗?这是有效的url,但是如果正确,我不知道,如果page/profile.php存在,那么它就是正确的url,?change是$\u GET参数。您可以这样使用它?change=yourValue
echo isset($_GET['change']) ? "hello" : "bye";
switch (true) {
case $_GET['change']:
echo 'hello';
break;
default:
echo 'bye';
break;
}