【发布时间】:2012-02-08 18:11:02
【问题描述】:
我正在编写一个相对简单的 if 语句来处理 Web 服务的响应
以下代码将输出返回的数据类型及其值:
$response = $client->__getLastResponse();
echo $response;
echo gettype($response);
对于正确的响应,我得到“真正的字符串”
对于不正确的响应,我得到“假字符串”
所以我需要一个if语句来处理它的真假:
if($response == "true"){
echo "Logged In";
} else {
echo "Not Logged In";
}
无论我收到什么回复,我总是收到“未登录”
我也尝试过 === 运算符,但无济于事。
有人可以帮忙吗?
【问题讨论】:
-
如果你得到
"true string",这意味着响应变量包含"true "(最后一个空格),而不是"true"。此外,var_dump($response)是一种更简洁的显示值和类型的方式 - 你能告诉我们它输出什么吗? -
string(536) " true " 这确实意味着有一个空格。
-
我已经回答过了。你得到的真的是
true string还是只是true作为一个字符串? -
错误是来自 web 服务的响应(不是我可能添加的我自己的设计)返回 536 个字符以显示单词 true
标签: php string comparison operators