PHP extract()Функции

PHP Array ReferenceПолный справочник по массивам PHP

Примеры

Присвойте значения "Cat", "Dog" и "Horse" переменным $a, $b и $c:

<?php $a = "Оригинал"; $my_array = array("a" => "Cat","b" => "Dog", "c" => "Horse"); extract($my_array); echo "\$a = $a; \$b = $b; \$c = $c"; ?>

Запустить пример »

Определение и использование

Функция extract() импортирует переменные из массива в текущую таблицу символов.

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

Эта функция возвращает количество успешно установленных переменных.


Синтаксис

extract(array,extract_rules,prefix)

Parameters Описание
array Обязательный. Указывает массив для использования.
extract_rules Необязательный. Функция extract() проверяет, является ли каждое имя ключа допустимым именем переменной, а также не конфликтует ли оно с существующими именами переменных в таблице символов. Обработка недопустимых и конфликтующих имен ключей определяется этим параметром.

Возможные значения:

  • EXTR_OVERWRITE — по умолчанию. Перезаписывает существующие переменные при конфликте.
  • EXTR_SKIP — не перезаписывает существующие переменные при конфликте.
  • EXTR_PREFIX_SAME — при конфликте добавляет префикс к имени переменной.
  • EXTR_PREFIX_ALL — добавляет префикс ко всем именам переменных.
  • EXTR_PREFIX_INVALID — добавляет префикс только к недопустимым или числовым именам переменных.
  • EXTR_IF_EXISTS — перезаписывает только значения переменных, которые уже существуют в текущей таблице символов. Все остальные игнорируются.
  • EXTR_PREFIX_IF_EXISTS — создает имена переменных с префиксом только тогда, когда переменная с таким же именем уже существует в текущей таблице символов. Все остальные игнорируются.
  • EXTR_REFS — извлекает переменные как ссылки. Импортированные переменные по-прежнему ссылаются на значения параметра-массива.
префикс Необязательный. Если значение параметра extract_rules равно EXTR_PREFIX_SAME, EXTR_PREFIX_ALL, EXTR_PREFIX_INVALID или EXTR_PREFIX_IF_EXISTS, то prefix обязателен.

Этот параметр задает префикс. Между префиксом и именем ключа массива автоматически добавляется символ подчеркивания.

Технические детали

Возвращаемое значение: Возвращает количество успешно установленных переменных.
Версия PHP: 4+
Список изменений: extract_rulesЗначение EXTR_REFS было добавлено в PHP 4.3.

extract_rulesЗначения EXTR_IF_EXISTS и EXTR_PREFIX_IF_EXISTS были добавлены в PHP 4.2.

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

extract_rulesЗначение EXTR_PREFIX_INVALID было добавлено в PHP 4.0.5.

Начиная с PHP 4.0.5,extract_rulesЗначение EXTR_PREFIX_ALL также включает числовые переменные.


Другие примеры

Пример 1

Использование всех параметров:

<?php
$a = "Original";
$my_array = array("a" => "Cat", "b" => "Dog", "c" => "Horse");

extract($my_array, EXTR_PREFIX_SAME, "dup");

echo "$a = $a; $b = $b; $c = $c; $dup_a = $dup_a";
?>

Запустить пример »


PHP Array ReferenceПолный справочник по массивам PHP Другие расширения