Recomendação de curso:

Função extract() do PHP

Exemplo

<?php
$a = "Original";
Atribui os valores "Cat", "Dog" e "Horse" às variáveis $a, $b e $c:
$my_array = array("a" => "Cat","b" => "Dog", "c" => "Horse");;
extract($my_array)
?>

Executar exemplo

echo "\$a = $a; \$b = $b; \$c = $c";

Definição e uso

A função extract() importa variáveis do array para a tabela de símbolos atual.

Esta função usa nomes de chaves de array como nomes de variáveis e valores de chaves de array como valores de variáveis. Para cada elemento no array, uma variável correspondente é criada no símbolo atual. Segundo parâmetro type

Usado para especificar como a função extract() deve lidar com conflitos quando um variável já existe e há um elemento com o mesmo nome no array.

Esta função retorna o número de variáveis importadas com sucesso para a tabela de símbolos.

SintaxeDescriçãoextract(extract_rulesextract(prefix,
) Parâmetro
Descrição array
extract_rules

Obrigatório. Especifica o array a ser usado.

Valores possíveis:

  • EXTR_OVERWRITE - Padrão. Substitui variáveis existentes se houver conflito
  • EXTR_SKIP - Não substitui variáveis existentes se houver conflito
  • EXTR_PREFIX_SAME - Adiciona prefixo ao nome da variável se houver conflito prefix.
  • EXTR_PREFIX_ALL - Adiciona prefixo a todos os nomes de variáveis prefix.
  • EXTR_PREFIX_INVALID - Adiciona prefixo apenas antes de nomes de variáveis ilegais ou numéricos prefix.
  • EXTR_IF_EXISTS - Substitui os valores apenas se já existir uma variável com o mesmo nome no símbolo atual, não tratando os outros.
  • EXTR_PREFIX_IF_EXISTS - Cria nomes de variáveis com prefixo apenas se já existir uma variável com o mesmo nome no símbolo atual, não tratando os outros.
  • EXTR_REFS - Extrai variáveis como referências. As variáveis importadas ainda referenciam os valores do parâmetro de array.
prefix

Opcional. Por favor, note prefix Apenas extract_type É necessário quando o valor é EXTR_PREFIX_SAME, EXTR_PREFIX_ALL, EXTR_PREFIX_INVALID ou EXTR_PREFIX_IF_EXISTS. Se o resultado após o prefixo adicionado não for um nome de variável válido, ele não será importado para a tabela de símbolos.

Um sublinhado será automaticamente adicionado entre o prefixo e o nome da chave do array.

Detalhes técnicos

Retorno: Retorna o número de variáveis bem sucedidas importadas para a tabela de símbolos.
Versão PHP: 4+
Registro de atualizações:

extract_rules O valor EXTR_REFS foi adicionado no PHP 4.3.

extract_rules Os valores EXTR_IF_EXISTS e EXTR_PREFIX_IF_EXISTS foram adicionados no PHP 4.2.

Desde PHP 4.0.5, a função retorna o número de variáveis bem sucedidas importadas para a tabela de símbolos.

extract_rules O valor EXTR_PREFIX_INVALID foi adicionado no PHP 4.0.5.

Desde PHP 4.0.5,extract_rules O valor EXTR_PREFIX_ALL também inclui variáveis numéricas.

Mais exemplos

Exemplo 1

Usar todos os parâmetros:

<?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";
?>

Executar exemplo