PHP | extract () Функция

Опубликовано: 24 Февраля, 2022

Функция extract () - это встроенная функция в PHP. Функция extract () выполняет преобразование массива в переменную. То есть он преобразует ключи массива в имена переменных и значения массива в значение переменной. Другими словами, мы можем сказать, что функция extract () импортирует переменные из массива в таблицу символов.

Синтаксис :

int extract ($ input_array, $ extract_rule, $ префикс)

Параметры : функция extract () принимает три параметра, из которых один является обязательным, а два других - необязательными. Все три параметра описаны ниже:

  1. $ input_array : этот параметр обязателен. Это определяет используемый массив.
  2. $ extract_rule : этот параметр необязательный. Функция extract () проверяет недопустимые имена переменных и конфликты с существующими именами переменных. Этот параметр указывает, как будут обрабатываться недопустимые и конфликтующие имена. Этот параметр может принимать следующие значения:
    • EXTR_OVERWRITE: это правило сообщает, что в случае конфликта перезаписать существующую переменную.
    • EXTR_SKIP: это правило говорит, что в случае конфликта не перезаписывать существующую переменную.
    • EXTR_PREFIX_SAME: это правило сообщает, что в случае коллизии префикс имени переменной должен соответствовать параметру $ prefix.
    • EXTR_PREFIX_ALL: это правило сообщает, что префикс всех имен переменных соответствует параметру $ prefix.
    • EXTR_PREFIX_INVALID: это правило сообщает, что только префикс недопустимых / числовых имен переменных в соответствии с префиксом параметра $.
    • EXTR_IF_EXISTS: это правило предписывает перезаписывать переменную только в том случае, если она уже существует в текущей таблице символов, в противном случае ничего не делать.
    • EXTR_PREFIX_IF_EXISTS: это правило предписывает создавать имена переменных с префиксом только в том случае, если версия той же переменной без префикса существует в текущей таблице символов.
  3. $ prefix : этот параметр не является обязательным. Этот параметр указывает префикс. Префикс автоматически отделяется от ключа массива знаком подчеркивания. Также этот параметр требуется, только если для параметра $ extract_rule установлено значение EXTR_PREFIX_SAME, EXTR_PREFIX_ALL, EXTR_PREFIX_INVALID или EXTR_PREFIX_IF_EXISTS.

Возвращаемое значение : возвращаемое значение функции extract () является целым числом и представляет количество переменных, успешно извлеченных или импортированных из массива.

Примеры:

Input : array("a" => "one", "b" => "two", "c" => "three")
Output :$a = "one" , $b = "two" , $c = "three"
Explanation: The keys in the input array will become the 
variable names and their values will be assigned to these
new variables.

Ниже приведены программы, иллюстрирующие работу extract () в PHP:

Example-1:

<?php
      
    // input array
    $state = array("AS"=>"ASSAM", "OR"=>"ORRISA", "KR"=>"KERELA");
      
    extract($state);
      
    // after using extract() function
    echo"$AS is $AS $KR is $KR $OR is $OR";
      
?>

Выход:

$ AS - это АССАМ
$ KR - это KERELA
$ OR - ORRISA

Example-2:

<?php
      
    $AS="Original";
      
    $state = array("AS"=>"ASSAM", "OR"=>"ORRISA", "KR"=>"KERELA");
      
    // handling collisions with extract() function
    extract($state, EXTR_PREFIX_SAME, "dup");
      
    echo"$AS is $AS $KR is $KR $OR if $OR $dup_AS = $dup_AS";
      
?>

Выход:

$ AS - это оригинал
$ KR - это KERELA
$ OR - ORRISA 
$ dup_AS = АССАМ

Ссылка :
http://php.net/manual/en/function.extract.php

PHP