П О Р Т А Л                            
С Е Т Е В Ы Х                          
П Р О Е К Т О В                        
  
Поиск по сайту:
                                                 
Главная

О проекте

Web-мастеру
     HTML & JavaScript
     SSI
     Perl
     PHP
     XML & XSLT
     Unix Shell

MySQL

Безопасность

Хостинг

Другое








Самое читаемое:

Учебник PHP - "Для Чайника".
Просмотров 3597 раз(а).

Иллюстрированный самоучитель по созданию сайтов.
Просмотров 6185 раз(а).

Учебник HTML.
Просмотров 3317 раз(а).

Руководство по PHP5.
Просмотров 5555 раз(а).

Хостинг через призму DNS.
Просмотров 4222 раз(а).

Подборка текстов стандартных документов.
Просмотров 55814 раз(а).

Учебник PHP - Самоучитель
Просмотров 3149 раз(а).

Документация на MySQL (учебник & справочное руководство)
Просмотров 6315 раз(а).

Внешние атаки...
Просмотров 3897 раз(а).

Учебник PHP.
Просмотров 2860 раз(а).

SSI в примерах.
Просмотров 37494 раз(а).



 
 
| Добавить в избранное | Сделать стартовой | Помощь





Учебник РНР
Назад Вперёд

Глава 36. Возвращаемые значения

Возвращение значений из ваших функций в PHP было кратко описано в предыдущем разделе; в этом разделе дана информация о деталях. Return-значения передаются через переменную return_value, которая передаётся в вашу функцию как аргумент. Аргумент return_value состоит из zval-контейнера (см. ранее обсуждение интерфейса вызова), который вы можете модифицировать. Этот контейнер всегда размещается самостоятельно, поэтому вам не нужно запускать в нём MAKE_STD_ZVAL. Вместо этого вы можете выполнять прямой доступ к его членам.

Чтобы облегчить возвращение значений из функций и предотвратить нестыковки при доступе к внутренним структурам zval-контейнера, имеется набор предопределённых макросов (как всегда). Эти макросы автоматически устанавливают соответствующие тип и значение, как описано в Таблицах 9.14 и 9.15.

Рисунок 36-1. Таблица 9.14. Предопределённые макросы для возвращаемых из функций значений
Примечание: Макрос в Таблице 9.14 автоматически возвращает из вашей функции.

МакросОписание
RETURN_RESOURCE(resource)Возвращает ресурс.
RETURN_BOOL(bool)Возвращает Boolean.
RETURN_NULL()Не возвращает ничего (значение NULL).
RETURN_LONG(long)Возвращает long.
RETURN_DOUBLE(double)Возвращает double.
RETURN_STRING(string,duplicate)Возвращает строку. Флаг duplicate указывает, должна ли строка дублироваться с использованием estrdup().
RETURN_STRINGL(string, length, duplicate) Возвращает строку специфицированной длины; иначе поведение аналогично RETURN_STRING. Этот макрос, однако, быстрее и безопасен в двоичном режиме.
RETURN_EMPTY_STRING()Возвращает пустую строку.
RETURN_FALSEВозвращает Boolean false.
RETURN_TRUEВозвращает Boolean true.
Рисунок 36-2. Таблица 9.15. Предопределённые макросы
для установки Return-значения функции
Примечание: Макросы в Таблице 9.15 только устанавливают return-значение;
они не выполняют возврат из вашей функции.

МакросыОписание
RETVAL_RESOURCE(resource)Устанавливает return-значение специфицированного ресурса.
RETVAL_BOOL(bool)Устанавливает return-значение специфицированного Boolean.
RETVAL_NULLУстанавливает return-значение NULL.
RETVAL_LONG(long)Устанавливает return-значение специфицированного long.
RETVAL_DOUBLE(double)Устанавливает return-значение специфицированного double.
RETVAL_STRING(string, duplicate)Устанавливает return-значение специфицированной строки и дублирует его во внутренней памяти Zend, если нужно (см. также RETURN_STRING).
RETVAL_STRINGL(string, length, duplicate) Устанавливает return-значение специфицированной строки и форсирует длину как length (см. также RETVAL_STRING). Этот макрос быстрее и безопаснее и должен использоваться, если длина строки известна.
RETVAL_EMPTY_STRINGУстанавливает return-значение - пустую строку.
RETVAL_FALSEУстанавливает return-значение - Boolean false.
RETVAL_TRUEУстанавливает return-значение - Boolean true.

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


НазадОглавление Вперёд
Дублирование содержимого переменной: конструктор Copy ВверхПечать информации


Если Вы не нашли что искали, то рекомендую воспользоваться поиском по сайту:
 





Copyright © 2005-2016 Project.Net.Ru