Php

Php Extract () función para importar variables en la tabla de símbolos actuales desde la matriz
Definición y uso

La función extracrate () introduce variables en la tabla de símbolos de corriente desde la matriz.

Para cada elemento en la matriz, el nombre de clave se usa para nombres de variables, y el valor clave se usa para valores variables.

El segundo tipo de parámetro se usa para especificar cómo cuando ya existe una cierta variable, y cuando hay los mismos elementos de nombre en la matriz, la función extract () trata dicho conflicto.

Esta función devuelve el número de variables que se establecen con éxito.

gramática
extract(array,extract_rules,prefix)

parámetro Descripción
array debe. Entrada a ser utilizada.
extract_rules

opcional. La función extract () verificará si cada nombre de clave es un nombre de variable legal y también verificará si los nombres de la variable en el conflicto de la tabla de símbolos.

El tratamiento de los números ilegales, los números y los conflictos se determinará en base a este parámetro. Puede ser uno de los siguientes valores:

Valor posible:

  • extr_overwrite -default. Si hay un conflicto, cubrirá las variables existentes.
  • extr_skip -Si hay un conflicto, no cubre las variables existentes. (Ignore el elemento del mismo nombre en la matriz)
  • extr_prefix_same -Si hay un conflicto, agregue prefijo frente al nombre de la variable. De PHP 4.0.5, esto también incluye el tratamiento de los índices digitales.
  • extr_prefix_all -add prefix (tercer parámetro) a todos los nombres de variables.
  • extr_prefix_invalid -add prefijo prefijo solo antes de los nombres de variables ilegales o digitales. Esta etiqueta se agrega recientemente con PHP 4.0.5.
  • extr_if_exists: cuando hay una variable del mismo nombre en la tabla de símbolos actuales, el valor de ellos está cubierto. No se trata nada más. Se puede utilizar para un conjunto de variables legales, y luego el valor de extracción se extrae de un ejemplo de ejemplos como $ _request para cubrir estas variables. Esta marca se agrega recientemente con PHP 4.2.0.
  • extr_prefix_if_exists -When hay una variable del mismo nombre en la tabla de símbolos actuales, se establece un nombre variable con un prefijo adicional y los otros no se procesan. Esta marca se agrega recientemente con PHP 4.2.0.
  • extr_refs -extrato la variable como referencia. Esto muestra fuertemente que la variable importada todavía cita el valor del parámetro VAR_ARAY. Puede usar este logotipo por separado o usar o con cualquier otro logotipo en Extract_Type. Esta etiqueta se agrega recientemente con PHP 4.3.0.
prefix

opcional. Tenga en cuenta que el valor del prefijo es solo cuando el valor de Extract_Type es extr_prefix_same, extr_prefix_all, extr_prefix_invalid o extr_prefix_if_exists. Si el resultado del prefijo no es un nombre de variable legal, no se importará a la tabla de símbolos.

Los prefijos y las teclas de matriz agregarán automáticamente una línea hacia abajo.

Ejemplo 1

Código de copiaEl código es el siguiente:
<?php
$a = ‘Original’;
$my_array = array(“a” => “Cat”,”b” => “Dog”, “c” => “Horse”);
extract($my_array);
echo “\$a = $a; \$b = $b; \$c = $c”;
?>

Salida:

$a = Cat;
$b = Dog;
$c = Horse

Ejemplo 2

Use todos los parámetros:

Código de copiaEl código es el siguiente:
<?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;”;
?>

Salida:

Función

$a = Original;
$b = Dog;
$c = Horse;
$dup_a = Cat;

Php Extract ()

Al mirar el código de una vaca recientemente, vi una función muy fácil de usar: Extract (). Su función principal es expandir la matriz, el nombre clave es el nombre de la variable y el valor elemental es el valor variable . Se puede decir que es una matriz de una matriz. La operación proporciona otra herramienta conveniente. Por ejemplo, puede extraer fácilmente los elementos de $ _post o $ _get. El contenido enviado por el formulario no debe asignarse uno por uno . Use el siguiente código directamente:

form.html

Copiar códigoEl código es el siguiente:
<form action=”action.php” method=”post”>
<input type=”text” name=”username”>
<input type=”password” name=”password”>
<input type=”submit”>

en Action.php, solo use la función extract () para desbloquear los datos globales de $ _post:
action.php

Código de copiaEl código es el siguiente:
<?php
extract($_POST);
// equivalente a $ username = $ _post [‘username’];
//$password = $_POST[‘password’];
?>

¿Es muy conveniente? Jaja, la explicación detallada en el manual de PHP a continuación:

extract
(PHP 4, PHP 5)

Extracto -variables Importadas de la matriz a la tabla de símbolos actuales

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

Esta función se utiliza para importar variables desde la matriz a la tabla de símbolos actuales. Acepte la matriz combinada var_array como parámetro y use el nombre de la clave como el nombre de la variable, y el valor como el valor de la variable. Cada par de clave / valor establecerá variables en la tabla de símbolos actuales y se verá afectado por los parámetros extract_type y prefijo.

Nota: de la versión 4.0.5, esta función devuelve el número de variables extraídas.
Nota: Extr_if_exists y extr_prefix_if_exists se introducen en la versión 4.2.0.
Nota: Extr_refs se introduce en la versión 4.3.0.

Extract () Verifique si cada nombre de clave se puede usar como un nombre de variable legal y también verifique el conflicto de los nombres de variables existentes en la tabla de símbolos. El método de tratar los números y los conflictos ilegales / ilegales se determinará en base al parámetro Extract_Type. Puede ser uno de los siguientes valores:

EXTR_OVERWRITE
Si hay un conflicto, cubra las variables existentes.
EXTR_SKIP
Si hay conflictos, no cubra las variables existentes.
EXTR_PREFIX_SAME
Si hay un conflicto, agregue prefijo frente al nombre de la variable.
EXTR_PREFIX_ALL
Agregar prefijo prefijo a todos los nombres de variables. De PHP 4.0.5, esto también incluye el tratamiento de los índices digitales.
EXTR_PREFIX_INVALID
frente al nombre de la variable ilegal / digital, agregue prefijo. Esta etiqueta se agrega recientemente con PHP 4.0.5.
EXTR_IF_EXISTS
Cuando hay una variable del mismo nombre en la tabla simbólica actual, cubren sus valores. No se trata nada más. Se puede utilizar para un conjunto de variables legales, y luego el valor de extracción se extrae de un ejemplo de ejemplos como $ _request para cubrir estas variables. Esta marca se agrega recientemente con PHP 4.2.0.
EXTR_PREFIX_IF_EXISTS
Cuando hay una variable del mismo nombre en la tabla de símbolos actuales, se agregan los nombres de variables con prefijo y los otros no se procesan. Esta marca se agrega recientemente con PHP 4.2.0.
EXTR_REFS
Pon la variable como referencia. Esto muestra fuertemente que la variable importada todavía cita el valor del parámetro VAR_ARAY. Puede usar este logotipo por separado o usar o con cualquier otro logotipo en Extract_Type. Esta etiqueta se agrega recientemente con PHP 4.3.0.
Si no especifica el Extract_Type, se supone que se supone extr_overwrite.

Tenga en cuenta que el prefijo solo se requiere para extr_prefix_same, extr_prefix_all, extr_prefix_invalid o extr_prefix_if_exists. Si el resultado del prefijo no es un nombre de variable legal, no se importará a la tabla de símbolos. Habrá una línea hacia abajo entre el prefijo y el nombre de la clave de la matriz.

Extract () Devuelve el número de variables que importan con éxito a la tabla de símbolos.

Warning

No use extracto () que no se puede confiar, como la entrada del usuario ($ _get, …). Si esto se hace, por ejemplo, es necesario ejecutar temporalmente el código anterior que depende de los registros_globals, y asegurarse de que el valor extrac_type que no se cubra se pueda usar, como extr_skip, y preste atención al pedido definido por Variables_order en php.ini.

El posible uso de

extracto () es importar el contenido de la combinación de unión de wddx_deserialize () en la variable de la tabla de símbolos en la matriz.

Ejemplo# 1 Extracto () Ejemplo

Código de copiaEl código es el siguiente:
<?php
/* Suponga que $ var_array es una matriz devuelta por 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\n”;
?>

El ejemplo anterior se emitirá:

El tamaño

blue, large, sphere, medium

$ no está cubierto, porque se especifica el Extr_Prefix_Same, lo que hace que $ WDDX_SIZE establezca. Si se especifica extr_skip, no se establecerá $ wddx_size. Extr_overWrite hará que el valor de $ size sea “medio”, y extr_prefix_all establecerá una nueva variable $ wddx_color, $ wddx_size y $ wddx_shape.

debe usar matrices asociadas, y la matriz de índice digital no producirá resultados, a menos que extr_prefix_all o extr_prefix_invalid.

Leave a Reply

Your email address will not be published. Required fields are marked *