|
|
|
| Иногда в скриптах встречается выражение типа:
<?php
$id = "";
while($row = mysql_fetch_assoc($res)) $id = $row['id']; // Какое-то выражение, создающее $id
if ($id) die (); // действие по условию.
|
Мне показалось, что такая комбинация в некоторых случаях порождает нестабильность работы скрипта.
Может, в подобных случаях лучше вместо очистки переменных осуществлять их удаление и использовать
| |
|
|
|
|
|
|
|
для: Владимир55
(02.02.2012 в 12:58)
| | Может, в подобных случаях лучше...
скорее всего да, но все зависит от логики скрипта
возможно нужны именно пустые переменные | |
|
|
|
|
|
|
|
для: Valick
(02.02.2012 в 13:40)
| | Если проверяется переменая на существование
, а её очистили, но не удалили, то она существует. Получится, что это условие выполняется всегда, если ему предшествует
Так? | |
|
|
|
|
|
|
|
для: Владимир55
(02.02.2012 в 13:51)
| | if ($id) воспринимается в РНР как проверка на не нулевое либо на не пустое значение переменной | |
|
|
|
|
|
|
|
для: Владимир55
(02.02.2012 в 13:51)
| | Ну отчасти да... при помощи условия if($id) проверяется значение переменной, получила ли она значение отличное от начального или нет. Если нужно проверить существование переменной прибегают к условию if(isset($id))
>$id = "";
Это фактически инициализация переменной, которая как раз стабильность программ здорово увеличивает, исключая целый класс ошибок. В современном программировании неинициализированные данные считаются грехом (это не только PHP касается, но и 95% остальных языков программирования, работающих с ячейками памяти, которые называют переменными). | |
|
|
|