2012-01-12 1 views
0

Я пишу относительно простой, если заявление обработать ответ веб-службыPHP Проблемы с Струнные Сравнения

Ниже код будет выводить тип данных, который возвращаемой и значение этого:

$response = $client->__getLastResponse(); 
echo $response; 
echo gettype($response); 

для правильного ответа, я получаю «истинной строки»
для неправильного ответа, я получаю «ложной строки»

Так что мне нужно, если заявление обрабатывать ли это правда или ложь:

if($response == "true"){ 
    echo "Logged In"; 
} else { 
    echo "Not Logged In"; 
} 

Что бы ответ я получаю, я всегда получаю «Не вошедшим»

Я пробовал оператор === также, но безрезультатно.

Может кто-нибудь помочь?

+0

Если вы получаете '' истинную строку '', это означает, что переменная ответа содержит '' true ''(с конечным пространством), а не' 'true''. Кроме того, 'var_dump ($ response)' - более чистый способ отображения значений и типов - можете ли вы рассказать нам, что он выводит? –

+0

строка (536) «истина», которая действительно означает, что есть пространство. –

+0

Я уже ответил. Это действительно «истинная строка», которую вы получаете или просто «истина» как строка? –

ответ

2

Для правильного ответа, я получаю «истинной строки» Для неправильного ответа, я получаю «ложный строка»

При условии, что ты сам код, у вас есть echo $response . gettype($response), который дает «истинную строку» , правильно? Если это так, после «истины» есть пробел. Попробуйте обрезать ответ:

<?php 
$response = $client->__getLastResponse(); 
if(strtolower(trim($response)) === 'true') { 
    echo 'response is true.'; 
} 

Кроме того, отладка очень легко с помощью var_dump, как будет отображать кавычки значения и общей длины строки, что делает дополнительное пространство всплывающий гораздо проще место.

+1

Ваше чрезмерное использование пробелов довольно уродливо. – ThiefMaster

+1

@ThiefMaster Все, спасибо, что нашли время поделиться этим со мной. На самом деле, я считаю, что это более читаемо. –

+0

Для парня, подобного мне, его чрезмерное. Я не использую места, если только не должен. см. пример кода в моем ответе –

Смежные вопросы