Сравнение больше > проблема

Эдди

Новичок
Сравнение больше > проблема

Вроде все просто, но мозги набекрень.

Получаю число из базы. Сравниваю с другим числом и получаю не то, что надо.

$x=10;
$num=$row['num']; //в данном случае значение из базы равно 8

if($x>$num)
echo 'OK;
else
echo 'NO';

Так вот всегда дает NO

Если меняю получаемое значение из базы на просто цифру, то все ОК
 

Эдди

Новичок
Автор оригинала: Beavis
сделай var_dump сравниваемых переменных и посмотри разницу
Черт. Ну конечно. var_dump дает string(3) "8 "

И не из базы берется цифра (извиняюсь). Из файла. Все. Больше никаких файлов.
 

Эдди

Новичок
Автор оригинала: Beavis
Из базы она тоже будет как строка браться
Если не менять источника получения данных, в программе можно привести к нормальному числу то, что я получаю?
Откуда этот пробел после 8, не понимаю. Весь файл содержит только одну цифру 8.
settype() не помогает.

trim() решает проблему. Но некрасиво как-то это...
 

Эдди

Новичок
Автор оригинала: Dovg
Эдди

Да что вы говорите!

$var = '8 ';

var_dump((int) $var); //int(8)
Да. Я был неправ. Так не пробовал.

$var='8 ';
$var=(int)$var;

дает нормальный результат.

А пробовал я так:
$var=settype($var,"integer"), что ничего не дало.

ВСЕМ СПАСИБО!!!
 
Сверху