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

Форум PHP

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

 

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

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

тема: Зачем мжет использоваться такая конструкция?
 
 автор: Shorr Kan   (20.12.2005 в 07:54)   письмо автору
 
 


<?
function g_error($str) {
  global 
$UPDATE;
  if (!
$UPDATE)
    echo 
$str;
  }

if (
условие) {
  
g_error(':(');
  return;
  }
?>


Логика мне подсказывает, что внутри if(условие){...} происходит возврат (return) той самой $UPDATE из g_error .... Но я могу и ошибаться. В целом - вопрос: что тут происходит и как?

   
 
 автор: localGhost   (20.12.2005 в 09:48)   письмо автору
 
   для: Shorr Kan   (20.12.2005 в 07:54)
 

если выполняеться условие if (условие), то выполняеться функция g_error() в которую передаеться смайлик :(. Функция же g_error() в свою очередь выводить переданную ей строку ( ":(" ) если до этого было присвоено значение false пременной $UPDATE.

   
 
 автор: Shorr Kan   (20.12.2005 в 09:58)   письмо автору
 
   для: localGhost   (20.12.2005 в 09:48)
 

А return зачем нужен в if (условие) { ? Что он ретурнит? И, собственно говоря, куда? Ведь это не функция...

   
 
 автор: cheops   (20.12.2005 в 13:32)   письмо автору
 
   для: Shorr Kan   (20.12.2005 в 09:58)
 

Чего-то проверяет... если проверка не нравится - вызывается функция g_error().

   
 
 автор: Shorr Kan   (20.12.2005 в 13:40)   письмо автору
 
   для: cheops   (20.12.2005 в 13:32)
 

Я имею ввиду другое. Когда из функции мы делаем return $var; - тут всё понятно. Но тут:

а) return - пустой. То есть просто return;
б) это НЕ функция, это просто условие if. А я всегда думал, что возвращать можно/нужно только из функции.

Вот А и Б меня сбивают с толку.

   
 
 автор: cheops   (20.12.2005 в 14:02)   письмо автору
 
   для: Shorr Kan   (20.12.2005 в 13:40)
 

А... понял.
a) return может быть пустым если функция не возвращает значения, в не С-подобных языках для этого вводится специальную конструкцию - "процедуру", в С-подобных языках она эмулируется при помощи функций и return, который не возвращает значение.
б) Оператор return в PHP можно выполнять вне функций - так если вы включаете файл при помощи include, вызов внутри его оператора return приведёт к досрочному выходу из include.

   
 
 автор: Shorr Kan   (20.12.2005 в 14:19)   письмо автору
 
   для: cheops   (20.12.2005 в 14:02)
 

Ух ты... Благодарю.

   
Rambler's Top100
вверх

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