Warning: Cannot use a scalar value as an array in /home/admin/public_html/forum/include/fm.class.php on line 757

Warning: Invalid argument supplied for foreach() in /home/admin/public_html/forum/include/fm.class.php on line 770
Форумы портала PHP.SU :: Версия для печати :: Объясните пожалуйста логику
Форумы портала PHP.SU » PHP » Программирование на PHP » Объясните пожалуйста логику

Страниц (1): [1]
 

1. Rush - 04 Сентября, 2009 - 13:46:25 - перейти к сообщению
Объясните мне пожалуйста, хочу понять саму логику без пробелов Улыбка
выполняю я значит урок, и там идет следующий код

CODE (text):
скопировать код в буфер обмена
  1. $variable = array();
  2. while (($data = mysqli_fetch_array($result))){
  3.         $variable[] = $data;
  4. }


то есть вначале мы объявляем массив $variable = array(); , а для чего собственно, он разве не будет создан автоматически в теле цикла?
и вторая вещь

CODE (text):
скопировать код в буфер обмена
  1. if (!mysqli_select_db($link, $mysql['database'])){
  2.         $error = mysqli_error($link);
  3.         $errno = mysqli_errno($link);
  4.         trigger_error("Ошибка при выборе базы данных "."(сообщение об ошибке $error [кода ошибки: $errno])");
  5. }



почему в отличие от первого примера здесь не требуется предварительного объявления mysqli_select_db ?

тоесть мне не понятно когда нужно/не нужно объявлять что либо предварительно?

ЗЫ: извиняюсь если совсем уже детский вопрос, но хотелось бы все таки разобраться.
2. Champion - 04 Сентября, 2009 - 14:03:30 - перейти к сообщению
Rush пишет:
то есть вначале мы объявляем массив $variable = array(); , а для чего собственно, он разве не будет создан автоматически в теле цикла?
Мы его не то чтобы объявляем, но инициализируем. Нам надо, чтобы перед циклом он был пустым.

а **select_db не обязательно выполнять, если там, куда мы коннектимся только одна БД.
3. Ch_chov - 04 Сентября, 2009 - 14:04:08 - перейти к сообщению
В первом случае строчку $variable = array(); действительно можно убрать.
Хотя она может использоваться для очистки массива (если массив $variable уже где то использовался ранее).

Второй вопрос не понял. mysqli_select_db не надо объявлять, потому что это функция.

 

Powered by ExBB FM 1.0 RC1