PHP-Fusion
v.7.01
AP-Fusion
v7.02.05
Pimped-Fusion-AP
v0.09.03
April 26 2024 07:02:38
Авторизация
Логин

Пароль



Вы не зарегистрированы?
Нажмите здесь для регистрации.

Забыли пароль?
Запросите новый здесь.
Мини-чат
Вы должны авторизироваться, чтобы добавить сообщение.

lom
06/04/2018 14:03
Мы рады, ждем девятку. Очень хочется пощупать

Alipapa
27/03/2018 22:16
Всем привет, все неисправности устранили, всё у нас работает

mukaton
30/10/2015 02:37
Не получается ничего скачать. Ошибка Not Found

Alipapa
06/10/2015 23:00
9-я версия php-fusion на подходе, следите за новостями

Alipapa
10/11/2014 11:24
Заметь, я дважды ответил через 3 минуты после вопроса, могли бы уже решить

Последние статьи
· О стабилизаторах нап...
· СМС и Вебмани
· TinyMCE для пользова...
· PCRE (Perl Compatibl...
· PCRE (Perl Compatibl...
Последние активные темы форума
  Темы Просмотров Ответов Последние сообщения
PHP-Fusion 7 Bogatyr - бесп...
Моды, плагины
7143 1 Vveb--ws
08-10-2018 16:47
Php-Fusion v9. Первые впеча...
Вопросы по работе
4514 3 Vveb--ws
25-07-2018 13:46
Появился хэлп по PHP-Fusion...
Вопросы по работе
6744 7 Vveb--ws
25-07-2018 13:42
prestashop&ap-fusion
Вопросы по работе
17365 61 Alipapa
26-08-2014 10:29
Плагин магазина Ap-Shop
Моды, плагины
14606 70 Alipapa
18-08-2014 18:14
TinyMCE
Вопросы по работе
21120 55 Alipapa
27-07-2013 21:57
HTML-5
Моды, плагины
5435 1 Alipapa
15-06-2013 19:47
Мультиязычность в Pimped-Fu...
Ошибки, баги, глюки
6267 4 Papich
16-04-2013 12:39
Pimped-Fusion. Первые впеча...
Ошибки, баги, глюки
21721 127 Alipapa
18-12-2012 10:59
Ищу мод для расстановки код...
Моды, плагины
15014 55 Alipapa
17-09-2012 14:00
Как присоединить файл к лич...
Моды, плагины
8263 3 lom
27-05-2012 18:12
Что мне не нравится в после...
Вопросы по работе
6852 4 Alipapa
27-05-2012 18:08
Проблемы с добавлением кате...
Вопросы по работе
7750 5 Alipapa
27-05-2012 18:06

extract

(PHP 3>= 3.0.7, PHP 4 , PHP 5)

extract --  Импортировать переменные из массива в текущую символьную таблицу.

Описание

int extract ( array var_array [, int extract_type [, string prefix]] )

Эта функция используется для импорта переменных из массива в текущую символьную таблицу. Она берёт ассоциативный массив в качестве параметра var_array и трактует его ключи как имена переменных и значения как значения переменных. Для каждой пары ключ/значение будет создана переменная в текущей символьной таблице, согласно параметрам extract_type и prefix.

Замечание: Начиная с версии 4.0.5, эта функция возвращает количество извлечённых переменных.

Замечание: EXTR_IF_EXISTS и EXTR_PREFIX_IF_EXISTS были добавлены в версии 4.2.0.

Замечание: EXTR_REFS был добавлен в версии 4.3.0.

extract() проверяет каждый ключ на соответствие приемлемости в качестве имени переменной. Эта функция также обрабатывает коллизии имён, если ключ совпадает с именем переменной, уже существующей в текущей символьной таблице. Способ обработки неприемлемых/числовых ключей и коллизий имён устанавливает параметр extract_type. Он может принимать одно из следующих значений:

EXTR_OVERWRITE

Если переменная с таким именем существует, она будет переназначена.

EXTR_SKIP

Если переменная с таким именем существует, будет сохранено её прежнее значение.

EXTR_PREFIX_SAME

Если переменная с таким именем существует, к её имени будет добавлен префикс, определённый параметром prefix.

EXTR_PREFIX_ALL

Добавить префикс prefix ко всем именам переменных. Начиная с PHP 4.0.5, также включает числовые имена.

EXTR_PREFIX_INVALID

Добавить префикс prefix только к неприемлемым/числовым именам переменных. Этот флаг был добавлен в PHP 4.0.5.

EXTR_IF_EXISTS

Переназначить только переменные, уже имеющиеся в текущей символьной таблице, в противном случае ничего не делать. Данная возможность полезна для определения списка приемлемых переменных и для извлечения только тех переменных, которые вы уже определили из массивов типа $_REQUEST, например. Этот флаг был добавлен в PHP 4.2.0.

EXTR_PREFIX_IF_EXISTS

Создать переменные, имена которых начинаются с prefix только если переменная с названием, которому не предшествует prefix, определена в текущей символьной таблице. Этот флаг был добавлен в PHP 4.2.0.

EXTR_REFS

Извлечь переменные как ссылки. Это означает, что значения таких переменных будут всё ещё ссылаться на значения массива var_array. Вы можете использовать этот флаг отдельно или комбинировать его с другими, используя OR. Этот флаг был добавлен в PHP 4.3.0.

Если extract_type не определён, он трактуется как EXTR_OVERWRITE.

Обратите внимание, что prefix имеет значение, только если extract_type установлен в EXTR_PREFIX_SAME, EXTR_PREFIX_ALL, EXTR_PREFIX_INVALID или EXTR_PREFIX_IF_EXISTS. Если в результате добавления префикса, не будет получено допустимое имя для переменной, она не будет импортирована в текущую символьную таблицу.

extract() возвращает количество переменных, успешно импортированных в символьную таблицу.

Внимание

Не используйте функцию extract() для непроверенных данных, таких как пользовательский ввод ($_GET, ...). Если вы сделаете это, например, для того, что бы временно запустить старый код, использующий register_globals, используйте соответствующий флаг extract_type для того, что бы не переназначить уже установленные переменные, такой как EXTR_SKIP и удостоверьтесь, что вы извлекаете содержимое массивов $_SERVER, $_SESSION, $_COOKIE, $_POST и $_GET в этом порядке.

Функцию extract() также можно использовать для импорта в текущую символьную таблицу переменных, содержащихся в ассоциативном массиве, возвращённом функцией wddx_deserialize().

Пример 1. Пример использования extract()

<?php

/* Предположим, что $var_array - это массив, полученный в результате
   wddx_deserialize */

$size = "large" ;
$var_array = array( "color" => "blue" ,
                   
"size"   => "medium" ,
                   
"shape" => "sphere" );
extract ( $var_array , EXTR_PREFIX_SAME , "wddx" );

echo
"$color, $size, $shape, $wddx_size
"
;

?>

Результат выполнения данного примера:

blue, large, sphere, medium

Переменная $size не была переназначена, потому что мы определили EXTR_PREFIX_SAME, в результате чего была создана переменная $wddx_size. Если был бы определён флаг EXTR_SKIP, тогда переменная $wddx_size не была бы создана. EXTR_OVERWRITE был бы причиной того, что переменной $size было бы присвоено значение "medium", и EXTR_PREFIX_ALL был бы причиной того, что были бы также созданы новые переменные $wddx_color, $wddx_size и $wddx_shape.

Вы должны использовать ассоциативный массив, использование числовых массивов не приведёт ни к каким результатам, если вы не использууете EXTR_PREFIX_ALL и EXTR_PREFIX_INVALID.

См. также compact().

Все функции PHP:
Навигация
· Новости
· Статьи
· Скачать
· Форум
· Ссылки
· Категории новостей
· Обратная связь
· Галерея
· Поиск
· CMS AP-Fusion. Отличия от PHP-Fusion
· Javascript справочник
· Техника
Сейчас на сайте
· Гостей: 2

· Пользователей: 0

· Всего пользователей: 453
· Новый пользователь: ZDA
Информеры
Загрузка файлов  +  -
9,948,739 уникальных посетителей Iceberg by Harly