我正在编写一个相对简单的if语句来处理Web服务的响应
以下代码将输出返回的数据类型及其值:
$response = $client->__getLastResponse();
echo $response;
echo gettype($response);
为了得到正确的回答,我得到了真正的字符串'
对于错误的回复,我会得到错误的字符串'
所以我需要一个if语句来处理它是真还是假:
if($response == "true"){
echo "Logged In";
} else {
echo "Not Logged In";
}
无论我得到什么回应,我总是会收到"未登录"
我也试过了===运算符,但无济于事。
有人可以帮忙吗?
答案 0 :(得分:2)
为了得到正确答案,我得到'真正的字符串' 对于不正确的回复,我得到'假字符串'
如果您是实际代码,那么echo $response . gettype( $response )
会产生“真正的字符串”,对吧?如果是这样,那么“真实”之后就有一个空格。尝试修剪响应:
<?php
$response = $client->__getLastResponse();
if( strtolower( trim( $response ) ) === 'true' ) {
echo 'response is true.';
}
除此之外,使用var_dump
调试非常简单,因为它会在值和字符串的总长度周围显示引号,使弹出的附加空间更容易被发现。