【发布时间】:2012-02-19 21:07:09
【问题描述】:
我有这种情况,我必须检查两个 GET 变量。在语句内的一个 switch 语句中检查第一个变量后,必须在第一个 case 循环内的第二个 switch 语句中检查第二个变量。
我不能在这里发布确切的代码,但这里是一个例子:
<?php
error_reporting(E_ALL);
ini_set('display_errors', '1');
switch($_GET['parent']){
case 'child1':
if(!isset($_GET['child'])){
echo "Only parent";
}
else{
switch($_GET['child']){
case 'test':
echo 'test';
break;
}
}
break;
case 'child2':
echo 'child2';
break;
default:
echo $_GET['parent'];
}
?>
这个代码示例运行良好,但是当我在我的服务器上实际使用这个过程时,即使它具有匹配的 case 值,该控件也会在父 switch 语句处被跳过为默认值。
没有报错,我只能调试到这个级别。
我知道您想查看代码,但我无法在此处发布。至少你可以指导我调试更多。
【问题讨论】:
-
我没有看到父开关的
default案例。你到底得到了什么输出? -
好吧,我没有在这里添加默认值,但我已经添加了真正的问题
-
请在输入 URL 时发布 URL,此脚本失败。它应该解析
example.com?parent=child1就好了。 -
我似乎无法复制该问题:codepad.org/uoYT3WXS 尝试编辑键盘示例以复制您的问题。
标签: php switch-statement