|
|
|
(PHP) 4.3.11 bug с hex
|
|||
|---|---|---|---|
|
#18+
Привет всем! Начал работать с PHP 4.3.11 (SunOS 5.9). Перестало работать следующее Код: plaintext 1. 2. 3. хотя в PHP 4.3.9 или 4.3.10-9 или 4.3.10-13 результат 3328 У когото были такие траблы с етим ? И чем ето лечится ? ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 11.05.2005, 18:18 |
|
||
|
(PHP) 4.3.11 bug с hex
|
|||
|---|---|---|---|
|
#18+
а кавычки в первой строке обязательно использовать ? Как вариант : Код: plaintext 1. 2. 3. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 11.05.2005, 18:38 |
|
||
|
(PHP) 4.3.11 bug с hex
|
|||
|---|---|---|---|
|
#18+
мне по посту же строка приходит, поетому кавычки обезательны. за eval ('$s = '.$s.';'); спасибо! $s = 0 + $s , тоже помогает но меня сейтчас интерисует ето bug новой версии или ето я не правильно впринципе использовал раньше (float)"0xd00" ? А то много коду сейтчас переписывать :( ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 11.05.2005, 18:59 |
|
||
|
(PHP) 4.3.11 bug с hex
|
|||
|---|---|---|---|
|
#18+
Okramза eval ('$s = '.$s.';'); спасибо!"Медвежья" услуга, имхо.$s = 0 + $s , тоже помогаетПредпочтительнее.но меня сейтчас интерисует ето bug новой версииСкорее это "фича" старой. Имхо, поведение было более чем не логично.А то много коду сейтчас переписывать :(На будущее будешь умнее - лучше не писать код на основе недокументированных "фич". ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 11.05.2005, 19:14 |
|
||
|
(PHP) 4.3.11 bug с hex
|
|||
|---|---|---|---|
|
#18+
Guest На будущее будешь умнее - лучше не писать код на основе недокументированных "фич". надеюсь ты Guest за свои слова отвечаеш. И почему ты так агресивно настроен ? я тоже нигде в доках не прочитал что $f = (float)$s; будет работать даже если $s="0x..." но и я только в коментариях нашол что $foo = 1 + "0x10"; //$foo is 17 - i.e. PHP DOES recognize 0x10 as hex for 16. тоесть можно использовать $s = 0 + $s Так что можеш ты Guest точно сказать как мне правильно по документированой "фиче" перевести строку в число при чем сnрока может быть как dec так и hex "100" = 100 "0x100" = 256 ? ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 11.05.2005, 19:26 |
|
||
|
(PHP) 4.3.11 bug с hex
|
|||
|---|---|---|---|
|
#18+
лично мне eval ('$s = '.$s.';'); больше нравится, но догадываюсь что медлено работать будет ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 11.05.2005, 19:32 |
|
||
|
(PHP) 4.3.11 bug с hex
|
|||
|---|---|---|---|
|
#18+
Okramя тоже нигде в доках не прочитал что $f = (float)$s; будет работать даже если $s="0x..." ... но и я только в коментариях нашол что $foo = 1 + "0x10"; //$foo is 17 - i.e. PHP DOES recognize 0x10 as hex for 16. тоесть можно использовать $s = 0 + $shttp://www.php.net/manual/ru/language.types.string.php#language.types.string.conversion - тут конечно не говориться ничего про 0x..., но судя по всему поведение решили изменить. Уж не знаю, каковы на то истинные причины.Так что можеш ты Guest точно сказать как мне правильно по документированой "фиче" перевести строку в число при чем сnрока может быть как dec так и hexНе хочешь наступать на грабли - оформи это функцией. Даже если поведение в очередной раз изменится - исправить это не составит никакого труда - достаточно будет поменять лишь одну функцию. Да и написать её можно так, чтобы никогда не натыкаться на грабли.И почему ты так агресивно настроен ?А сволочь я :) (С) КВН Okram , попробуйте применить мозги, размышляя над комбинацией фактов "мне по посту же строка приходит" и над тем, что делает eval - и уж поверь мне, быстродействие тут вообще не при чём и никого не волнует. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 11.05.2005, 20:23 |
|
||
|
(PHP) 4.3.11 bug с hex
|
|||
|---|---|---|---|
|
#18+
Не хочешь наступать на грабли - оформи это функцией. Даже если поведение в очередной раз изменится - исправить это не составит никакого труда - достаточно будет поменять лишь одну функцию. Да и написать её можно так, чтобы никогда не натыкаться на грабли. так и зделаю (только не подумай что я раньше про ето не думал :) ) http://www.php.net/manual/ru/language.types.string.php#language.types.string.conversion - тут конечно не говориться ничего про 0x..., но судя по всему поведение решили изменить. Уж не знаю, каковы на то истинные причины. вот ето и есть суть моего вопроса. Почемуто уверен на 100% что в версии 4.3.11-01 или 4.3.11-02 или ... 4.3.11-0x Мои скрипты заработают. (так было с 4.3.10) И ещё вопрос Так что можеш ты Guest точно сказать как мне правильно по документированой "фиче" перевести строку в число при чем сnрока может быть как dec так и hex "100" = 100 "0x100" = 256 ? открыт ... ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 11.05.2005, 20:45 |
|
||
|
(PHP) 4.3.11 bug с hex
|
|||
|---|---|---|---|
|
#18+
OkramТак что можеш ты Guest точно сказать как мне правильно по документированой "фиче" перевести строку в число при чем сnрока может быть как dec так и hexПросто не надо использовать никаких "фич" Код: plaintext 1. 2. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 11.05.2005, 21:43 |
|
||
|
(PHP) 4.3.11 bug с hex
|
|||
|---|---|---|---|
|
#18+
Пардон Код: plaintext 1. 2. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 11.05.2005, 21:44 |
|
||
|
(PHP) 4.3.11 bug с hex
|
|||
|---|---|---|---|
|
#18+
Поскольку все другие участники форума молчат ... зделаем вывод что проблема однозначно решена...или... ? Спасибо большое тебе дорогой Guest :) И вовсе ето не "Медвежья" услуга, имхо. :) ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 12.05.2005, 10:03 |
|
||
|
(PHP) 4.3.11 bug с hex
|
|||
|---|---|---|---|
|
#18+
OkramИ вовсе ето не "Медвежья" услуга, имхо. :)eval данных, приходящих от пользователя? Ну-ну... Предлагаю поговорить об этом чуть позже, когда вас таки сломают :) ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 12.05.2005, 11:07 |
|
||
|
(PHP) 4.3.11 bug с hex
|
|||
|---|---|---|---|
|
#18+
да нет :) я за то , что твоя function GetDataInHexAndDec($str){ return floatval(preg_replace('#^0x([0-9a-fA-F]+).*#e','hexdec("$1")',$str)); } действительно будет мне полезна ! eval данных, приходящих от пользователя? Ну-ну... Предлагаю поговорить об этом чуть позже, когда вас таки сломают :) поделись секретом, как ето возможно ? p.s. я eval никогда не использовал :) ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 12.05.2005, 11:21 |
|
||
|
(PHP) 4.3.11 bug с hex
|
|||
|---|---|---|---|
|
#18+
Okramподелись секретом, как ето возможно ?Простой безопасный пример (специально даю безопасный, только как демонстрацию возможностей) Код: plaintext 1. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 12.05.2005, 11:49 |
|
||
|
|

start [/forum/topic.php?fid=23&msg=33059432&tid=1478302]: |
0ms |
get settings: |
9ms |
get forum list: |
15ms |
check forum access: |
3ms |
check topic access: |
3ms |
track hit: |
175ms |
get topic data: |
11ms |
get forum data: |
3ms |
get page messages: |
67ms |
get tp. blocked users: |
1ms |
| others: | 212ms |
| total: | 499ms |

| 0 / 0 |
