|
|
|
|
|
для: Borec
(18.06.2009 в 10:56)
| | Думаю, что нет. "!" - оператор, не операнд. Если вы хотите присвоить переменной булево значение непосредственно, то
<?php
$a = false;
$b = true;
?>
|
| |
|
|
|
|
|
|
|
для: Lstasss
(17.06.2009 в 23:46)
| | Ловко, а в этом случае с правой стороны переменная обязательна ?
Такой пример $b = !; - валиден ? | |
|
|
|
|
|
|
|
для: Borec
(17.06.2009 в 23:20)
| | Это и есть динамическое приведение типов))
Пример 1
<?php
$var = '6'; // строка
$x = $var - 0; // число
?>
|
Сначала мы присваиваем переменной $var значение '6', т. е. строка, но в ней есть число.
Отнимая от строки с числом ноль мы получаем на выходе число.
С оператором плюс может не сработать - может произойти конкатенация, а вот минус - в самый раз подходит))
Ещё можно умножать и делить на 1, но вычитание нуля - самое быстрое (подумайте что происходит на процессорном уровне).
Пример 2
<?php
$var = 5; // число
$x = $var .''; //строка
?>
|
Было число, мы сконкатенировали его с пустой строкой и получили строку. Точка - оператор конкатенации в РНР.
Пример 3
<?php
$var = 4; // число
$b = !!$var; // булево значение true
?>
|
Было число, мы путём двойного отрицания получаем из него булево значение ИСТИНА. "!" - оператор отрицания. Смотрите:
<?php
$var = 4; // число
$a = !$var; // булево значение ЛОЖЬ
$b = !$a; // булево значение true
?>
|
Просто !! (двойное отрицание) позволяет сэкономить на одной переменной и одной строчке кода ;-) | |
|
|
|
|
|
|
|
для: Lstasss
(17.06.2009 в 18:39)
| | Можете прокомментировать примеры ?
Ну вообще конечно по-книжке можно разобраться, но тут попахивает динамическим приведением типов. Еще я не знаю смысла оператора "." . | |
|
|
|
|
|
|
|
для: Borec
(17.06.2009 в 08:28)
| | Оно мне мешает косвенно, и даже не столько отсутствие контроля типов, сколько отсутствие необходимости объявления переменных.
Когда работал под Виндой писал в Notepad++, под Ubuntu - gedit.
Чтобы просмотреть переменные (если совершенно не знаете какие присутствуют в данном скрипте) можно сначала сделать
$vars = get_defined_vars();
| а потом каждый элемент массива $vars по очереди var_dump() - отобразится вся информация о переменной.
Типами можно управлять явно, с помощью процедуры settype, или "неявно".
Под неявно я подразумеваю трюки типа
$var = '6'; // строка
$x = $var - 0; // число
|
и наоборот
$var = 5; // число
$x = $var .''; //строка
|
а также
$var = 4; // число
$b = !!$var; // булево значение true
|
Эти трюки работают быстрее чем явное приведение типов с помощью функций. | |
|
|
|
|
|
|
|
для: antf
(17.06.2009 в 04:27)
| | Вы правы, я имел в виду Etomite.Читается одинаково, потому и перепутал
Страшно читать что Вы там делали - не уверен что справился бы =) | |
|
|
|
|
|
|
|
для: antf
(17.06.2009 в 09:30)
| | Смысл в том, что некоторые фичи не поддерживались движком изначально, а надо было их сделать и не переписывать сам движок. | |
|
|
|
|
|
|
|
для: Borec
(17.06.2009 в 08:17)
| | Тут трудность не только в том, что код чужой и надо в нем разбираться прежде чем что-то делать. Проблема была в том, чтобы его правильно модернизировать, чтобы изменения не выглядели как плохо наложенные заплаты и были в тему.
CMS поддерживала работу с с пользователями (авторизацию, привилегии, разграничение доступа) только в админке. А нам надо было сделать в распознавание пользователей и в пользовательской части.
Как сделать функции редактирования/удаления/премодерации комментариев не выходя за рамки сниппета? Сниппет - кусок php-кода, который редактируется в textarea, вставляется в код шаблона или страницы с помощью тегов и исполняется с помощью eval. Модулей у этой CMS нет.
С этим всем справился. | |
|
|
|
|
|
|
|
для: ols
(16.05.2009 в 10:17)
| | >Бил Гейтс тоже когда-то из-за программирования Вуз запустил. По-вашему он дебил? :)
Не он один. Артемий Лебедев - тоже. Причем Артемий хитрее поступил, он при этом программирование осваивать не стал :) | |
|
|
|
|
|
|
|
для: Lstasss
(17.06.2009 в 02:05)
| | Кстати а как вам в РНР мешает отсутствие контроля типов ?
Поидее я никогда не писал на РНР, там вообще можно просматривать переменные и контролировать типы ? В 1С бросаешь переменную в "гляделки", она и значение и тип сразу показывает.
Вы каким редактором-отладчиком пользуетесь, а то что-то даже интересно стало ? | |
|
|
|
|