【发布时间】:2014-01-22 15:59:07
【问题描述】:
我遇到了一个 7 小时都无法解决的问题。
这是我在 openfire 服务器上创建用户的 php 脚本:
$f = fopen("LINK","r");
$odpoved = fread($f, 1024);
在手册http://www.igniterealtime.org/projects/openfire/plugins/userservice/readme.html 中写道,我的变量应包含“OK”或“UserAlreadyExistsException”。当我尝试打印 $odpoved 时,它显示良好,当我查看该页面的源代码时,它包含手动编写的标签。我的问题是,看在上帝的份上,我无法找到在 switch 中使用此变量的方法。这是现在的样子:
switch($odpoved){
case 'OK':
print("something");
break;
case 'UserAlreadyExistsException':
print("something2");
break;
default:
print("X");
}
fclose($f);
无论我做什么,它总是打印默认值。我不明白它有什么问题。我已经尝试将它与带有标签的选项进行比较,但它没有帮助并且它总是以默认值结束。 请你帮帮我好吗?感谢您的帮助,如果需要,我会提供更多详细信息。
【问题讨论】:
-
打印$odpoved的结果是什么?
-
正如你所说,当你查看源代码时,它会打印输出以及标签,所以它当然不会在 switch case 中输出“OK”或“UserAlreadyExistsException”。
-
在切换之前执行 echo intval($odproved) 。 “相对” 。 intval("UserAlreadyExistsException") 。 “相对” 。间隔(“确定”);要查看它们是否是相同的字符,可能有空格或其他东西。
标签: php switch-statement openfire