|
|
Регистрация Восстановить пароль |
Повторная активизация e-mail |
Регистрация | Задать вопрос |
Заплачу за решение |
Новые сообщения |
Сообщения за день |
Расширенный поиск |
Правила |
Всё прочитано |
|
|
Опции темы | Поиск в этой теме |
30.06.2012, 21:08 | #1 |
Форумчанин
Регистрация: 08.11.2009
Сообщений: 225
|
Сравнение типов
PHP код:
|
30.06.2012, 21:55 | #2 | |
Старожил
Регистрация: 31.05.2010
Сообщений: 3,301
|
При сравнении строки и числа происходит неявное приведение строки к числовому типу, а как видно из твоего кода - эта строка преобразуется в 0:
Цитата:
Преобразование строк в числа Таблица сравнения типов |
|
30.06.2012, 22:02 | #3 |
Форумчанин
Регистрация: 08.11.2009
Сообщений: 225
|
Спасибо, но логичнее было бы переводить тип к типу первого из сравниваемых значений или к строке, т.к. при strtoint строка потеряет все не int символы, а при переводе из inttostr ничего не потеряется
|
30.06.2012, 22:29 | #4 | |
Старожил
Регистрация: 31.05.2010
Сообщений: 3,301
|
Цитата:
На результат сравнения 2-х переменных никогда не должно влиять их местоположение в выражении, результат сравнения всегда должен быть одинаков. Ваш, "логичный" вариант этого не допускает: PHP код:
|
|
30.06.2012, 23:09 | #5 | |
Форумчанин
Регистрация: 08.11.2009
Сообщений: 225
|
грубо говоря, число - это тоже набор цифр, как и строка - набор из символов. Ну наверное же, когда я их сравниваю, я хочу сравнить этот набор с другим, а не предвзято приравнивать строку к 0
Цитата:
|
|
30.06.2012, 23:28 | #6 | |
Старожил
Регистрация: 31.05.2010
Сообщений: 3,301
|
Цитата:
Считаете нормальной необходимость каждый раз при написании кода сравнения заморачиваться тем, какой же тип имеет "первый сравнитель" - чтоб в итоге получился ожидаемый результат? А если этот "первый сравнитель" - переменная, определенная фиг знает где-то ранее в коде, в другом совершенно файле, получена от другого скрипта и т.п.? Как тут сходу угадать её тип - чтоб написать правильное сравнение? Вводить дополнительное логическое ветвление для сравнения разных возможных типов данных? Ну, вобщем - радует то, что написанием ЯП занимаются люди с логикой мышления, отличной от вашей. Потому пока волноваться особо не о чем. А вот если вы задумаете под эту логику написать свой собственный ЯП - ну тогда всё... |
|
30.06.2012, 23:35 | #7 | |||
Форумчанин
Регистрация: 08.11.2009
Сообщений: 225
|
Цитата:
Цитата:
Цитата:
Нелогично, все то, что не нравится и не подходит переделывать по-своему Последний раз редактировалось Pamparam; 30.06.2012 в 23:38. |
|||
30.06.2012, 23:40 | #8 |
Форумчанин
Регистрация: 03.12.2010
Сообщений: 334
|
|
30.06.2012, 23:42 | #9 | |
Форумчанин
Регистрация: 08.11.2009
Сообщений: 225
|
Цитата:
или вам слабо представляется, что число это набор цифр, а строка - набор символов? |
|
30.06.2012, 23:48 | #10 |
Форумчанин
Регистрация: 03.12.2010
Сообщений: 334
|
а вам слабо представляется разница между строкой и числом?
PHP код:
|
|
Похожие темы | ||||
Тема | Автор | Раздел | Ответов | Последнее сообщение |
несоответствие типов | Rin | БД в Delphi | 7 | 11.01.2011 14:27 |
Несоответствие типов. | Иван=) | Помощь студентам | 7 | 04.11.2010 13:27 |
преобразование типов в Си | HoOpe | Помощь студентам | 5 | 11.03.2009 21:58 |
Преобразование типов | MAKEDON | Общие вопросы C/C++ | 3 | 02.03.2009 18:27 |
Совместимость типов | DeDoK | Общие вопросы Delphi | 2 | 06.05.2008 21:28 |