Форум: Форум PHPФорум ApacheФорум Регулярные ВыраженияФорум MySQLHTML+CSS+JavaScriptФорум FlashРазное
Новые темы: 0000000
PHP 5. На примерах. Авторы: Кузнецов М.В., Симдянов И.В., Голышев С.В. PHP 5/6. В подлиннике. Авторы: Кузнецов М.В., Симдянов И.В. PHP на примерах (2 издание). Авторы: Кузнецов М.В., Симдянов И.В. Объектно-ориентированное программирование на PHP. Авторы: Кузнецов М.В., Симдянов И.В. Самоучитель MySQL 5. Авторы: Кузнецов М.В., Симдянов И.В.
ВСЕ НАШИ КНИГИ
Консультационный центр SoftTime

Форум PHP

Выбрать другой форум

 

Здравствуйте, Посетитель!

вид форума:
Линейный форум Структурный форум

тема: объявление переменной
 
 автор: Bvz   (20.12.2010 в 12:16)   письмо автору
 
 

встал вот такой вопрос, нужно ли заранее объявлять переменную, если да, то в каких случаях?
а то при операции с переменной, которая не была объявлена вылазит следующая ошибка PHP Notice: Undefined variable: или не обращать внимание?

  Ответить  
 
 автор: lightning.say   (20.12.2010 в 13:32)   письмо автору
 
   для: Bvz   (20.12.2010 в 12:16)
 

Это не ошибка — это рекомендации по кодированию, сообщающие о неинициализированных переменных. Следует отключить вывод подобных рекомендаций в файле php.ini. Найдите директиву error_reporting и установите ее значение:

error_reporting = E_ALL & ~E_NOTICE

  Ответить  
 
 автор: neadekvat   (21.12.2010 в 15:07)   письмо автору
 
   для: lightning.say   (20.12.2010 в 13:32)
 

Засовывать голову в песок - неверное решение. Несмотря на то, что модератор так не считает.

  Ответить  
 
 автор: Yuriev   (20.12.2010 в 13:35)   письмо автору
 
   для: Bvz   (20.12.2010 в 12:16)
 

Зависит от ваших целей.
Если хотите изучить английский язык, наприме, по сообщениям об ошибках, тогда объявлять переменные смысла нет.

  Ответить  
 
 автор: Bvz   (20.12.2010 в 14:19)   письмо автору
 
   для: Bvz   (20.12.2010 в 12:16)
 

это понятно, вопрос как правильно делать?

  Ответить  
 
 автор: Косорылый   (20.12.2010 в 14:29)   письмо автору
 
   для: Bvz   (20.12.2010 в 14:19)
 

<?
$x
=!empty($x) ? $x NULL ;

http://www.softtime.ru/dic/id_dic=239&id_group=9
http://www.softtime.ru/dic/id_dic=261&id_group=9

  Ответить  
 
 автор: neadekvat   (20.12.2010 в 14:48)   письмо автору
 
   для: Bvz   (20.12.2010 в 14:19)
 

Объявлять переменные заранее.
При уровне ошибок E_ALL в вашем проекте не должно вылезать никаких нотайсов, ошибок и т.д.

  Ответить  
 
 автор: Trianon   (20.12.2010 в 14:36)   письмо автору
 
   для: Bvz   (20.12.2010 в 12:16)
 

На Вашем уровне владения языком переменную следует объявлять всегда, уж коль скоро Вы собираетесь с ней работать.

Позднее, когда чувство языка будет развито на должном уровне, Вы будете в состоянии попробовать работать с переменной, о которых в локальной точке исполнения неизвестно, создана (инициализирована) она или нет. Правда при этом придется либо ставить проверки существования, либо применяя локальную блокировку диагностик, пользоваться правилами преобразования null-значений. В любом случае, пока Вы до этого уровня не дошли.

  Ответить  
 
 автор: Bvz   (20.12.2010 в 14:38)   письмо автору
 
   для: Trianon   (20.12.2010 в 14:36)
 

>На Вашем уровне владения языком переменную следует объявлять всегда, уж коль скоро Вы собираетесь с ней работать.
>
>Позднее, когда чувство языка будет развито на должном уровне, Вы будете в состоянии попробовать работать с переменной, о которых в локальной точке исполнения неизвестно, создана (инициализирована) она или нет. Правда при этом придется либо ставить проверки существования, либо применяя локальную блокировку диагностик, пользоваться правилами преобразования null-значений. В любом случае, пока Вы до этого уровня не дошли.
а насколько это удобно?


спасибо!

  Ответить  
 
 автор: Саня   (20.12.2010 в 15:11)   письмо автору
 
   для: Bvz   (20.12.2010 в 14:38)
 

.

  Ответить  
 
 автор: Trianon   (20.12.2010 в 16:51)   письмо автору
 
   для: Bvz   (20.12.2010 в 14:38)
 

>а насколько это удобно?
насколько удобно что?

  Ответить  
 
 автор: Bvz   (20.12.2010 в 14:52)   письмо автору
 
   для: Trianon   (20.12.2010 в 14:36)
 

а как правильно объявить переменную?

  Ответить  
 
 автор: Trianon   (20.12.2010 в 16:55)   письмо автору
 
   для: Bvz   (20.12.2010 в 14:52)
 

присвоить ей значение.

  Ответить  
 
 автор: Bvz   (20.12.2010 в 16:56)   письмо автору
 
   для: Trianon   (20.12.2010 в 16:55)
 

какое ведь это может быть и строка и число и массив?

  Ответить  
 
 автор: Trianon   (20.12.2010 в 17:02)   письмо автору
 
   для: Bvz   (20.12.2010 в 16:56)
 

В общем-то любое.
Но если Вы сразу хотите показать, что явного, содержательного значения переменная не несет, то тогда присваивайте null.
Правда тогда возникает вопрос, а не рано ли Вы её объявляете...

  Ответить  
 
 автор: Bvz   (23.12.2010 в 13:27)   письмо автору
 
   для: Trianon   (20.12.2010 в 17:02)
 

а как быть в случае с глобальной переменной, когда с ней производиться операция?
$page = $_GET['page'];
а она в ситуации, когда не объявлена?

  Ответить  
Rambler's Top100
вверх

Rambler's Top100 Яндекс.Метрика Яндекс цитирования