|
|
|
| Почему при неопеределенной переменой $i
в случае
мы получаем 1
а так
NULL
В чем причина??? | |
|
|
|
|
|
|
|
для: STEVER
(29.02.2008 в 16:27)
| | как можно отнять из ничего? переменная изначально не определена
| |
|
|
|
|
|
|
|
для: mihdan
(29.02.2008 в 16:33)
| | А как можно прибавить к ничему? А получается в итоге 1.
Это не ответ, мне инстересует конкретная структурная особенность языка, благодаря которой происходит именно так. | |
|
|
|
|
|
|
|
для: STEVER
(03.03.2008 в 10:42)
| | Мне интересно: тут есть толковые люди, которые способны ответить на вопрос?
Раньше, на сколько я знаю, - были.
А сейчас форум заполняется вопросами а-ля "мне влом открыть книгу, киньте мне готовый код, чтобы я его вставил без изменений и все работало".
В данном случае, я не нашел ответа в книгах.
Копаться в структуре самому довольно тяжело.
Вот я и хотел чтобы более опытные коллеги подсказали в данном вопросе. | |
|
|
|
|
|
|
|
для: STEVER
(03.03.2008 в 10:42)
| | Если переменная не определена, то соответственно ее значение - NULL, NULL + 1 = 1 - разве так не ясно? | |
|
|
|
|
|
|
|
для: mihdan
(04.03.2008 в 11:56)
| | NULL не есть ноль. И как раз особенность языка в том, что он в данном случае NULL заменяет нулем. РНР вообще много чего прощает разработчику) | |
|
|
|
|
|
|
|
для: mihdan
(04.03.2008 в 11:56)
| | mihdan,
Почему тогда по твоей же логике не получается
0 - 1 = -1
ведь реально выводит NULL после поперации $i-- | |
|
|
|
|
|
|
|
для: STEVER
(04.03.2008 в 12:35)
| | Говорите, что читали мануалы?!
Note: The increment/decrement operators do not affect boolean values. Decrementing NULL values has no effect too, but incrementing them results in 1. | |
|
|
|
|
|
|
|
для: olejek
(04.03.2008 в 13:02)
| | olejek ,
прошу прощения, но вы меня не поняли.
я не спрашиваю есть ли ответ задачи в мануалах.
меня интресует решение задачи.
Как один из вариантов решения: разработчикам пхп вбрело в голову сделать так. но он меня не устроит) иначе я задам вопрос почему именно так почему им не сделать -1 ? | |
|
|
|
|
|
|
|
для: STEVER
(04.03.2008 в 13:15)
| | Делайте так:
А если это не устраивает, идите в раздел "Задачи на php".
P.S. Вы же написали, что не нашли ответа в книгах - где Вы видели, чтобы в учебниках разбирали внутреннее устройство языка? | |
|
|
|
|
|
|
|
для: olejek
(04.03.2008 в 13:23)
| | в некоторых направленых на разборы уязвимостей такое имеется.
"$i = $i - 1; " - моя цель понять структурные различия инк и дек а не сделать неопределенную переменную на один меньше.
а на счет перенести в Задачи, благодарю за идею, я сразу не подумал. | |
|
|
|
|
|
|
|
для: STEVER
(04.03.2008 в 13:29)
| | STEVER, по-моему, вы слишком многого хотите от РНР) Это скриптовый язык, не очень красивый и не очень логичный. Он делался для создания "хомячков", то есть для использования пррограммистами средней руки, не заморачивающимися на глубокие семантические различия инкремента и декремента и прочие тонкости. Работает - вот и хорошо) | |
|
|
|
|
|
|
|
для: Киналь
(04.03.2008 в 14:24)
| | ну так уж сложилось что именнно с пхп связана моя работа, поэтому и задался вопросом на уровне разработчиков. может их на форум позвать? )) | |
|
|
|
|
|
|
|
для: STEVER
(04.03.2008 в 12:35)
| | Согласен с вами )))) | |
|
|
|