PHP-Array-Verarbeitungsfunktionsextrakt
Die Extraktionsfunktion wird verwendet, um Variablen aus dem Array in die aktuelle Symboltabelle zu importieren
Grundlegende Grammatik
int extract ( array &$var_array [, int $extract_type = EXTR_OVERWRITE [, string $prefix = NULL ]] )
Mit dieser Funktion werden Variablen aus dem Array in die aktuelle Symboltabelle importiert. Jeder Schlüsselname wird daraufhin überprüft, ob er als zulässiger Variablenname verwendet werden kann, und es wird auch auf Konflikte mit vorhandenen Variablennamen in der Symboltabelle überprüft.
Parametereinführung:
Parameter |
Beschreibung |
var_array |
Erforderlich. Gibt das zu verwendende Array an.
参数 |
描述 |
var_array |
必需。规定要使用的数组。
一个关联数组。此函数会将键名当作变量名,值作为变量的值。 对每个键/值对都会在当前的符号表中建立变量,并受到 extract_type 和 prefix 参数的影响。
必须使用关联数组,数字索引的数组将不会产生结果,除非用了 EXTR_PREFIX_ALL 或者 EXTR_PREFIX_INVALID 。
|
extract_type |
可选。extract() 函数将检查每个键名是否为合法的变量名,同时也检查和符号表中已存在的变量名是否冲突。对不合法和冲突的键名的处理将根据此参数决定。
可能的值:
- EXTR_OVERWRITE - 默认。如果有冲突,则覆盖已有的变量。
- EXTR_SKIP - 如果有冲突,不覆盖已有的变量。
- EXTR_PREFIX_SAME - 如果有冲突,在变量名前加上前缀 prefix。
- EXTR_PREFIX_ALL - 给所有变量名加上前缀 prefix。
- EXTR_PREFIX_INVALID - 仅在不合法或数字变量名前加上前缀 prefix。
- EXTR_IF_EXISTS - 仅在当前符号表中已有同名变量时,覆盖它们的值。其它的都不处理。
- EXTR_PREFIX_IF_EXISTS - 仅在当前符号表中已有同名变量时,建立附加了前缀的变量名,其它的都不处理。
- EXTR_REFS - 将变量作为引用提取。导入的变量仍然引用了数组参数的值。
|
prefix |
可选。注意 prefix 仅在 extract_type 的值是 EXTR_PREFIX_SAME ,EXTR_PREFIX_ALL , EXTR_PREFIX_INVALID 或 EXTR_PREFIX_IF_EXISTS 时需要。 如果附加了前缀后的结果不是合法的变量名,将不会导入到符号表中。前缀和数组键名之间会自动加上一个下划线。
|
Ein assoziatives Array. Diese Funktion behandelt den Schlüsselnamen als Variablennamen und den Wert als Variablenwert. Für jedes Schlüssel/Wert-Paar wird in der aktuellen Symboltabelle eine Variable erstellt, die von den Parametern extract_type und prefix beeinflusst wird.
Es müssen assoziative Arrays verwendet werden. Numerisch indizierte Arrays liefern keine Ergebnisse, es sei denn, EXTR_PREFIX_ALL oder EXTR_PREFIX_INVALID wird verwendet.
|
extract_type |
Optional. Die Funktion extract() prüft, ob jeder Schlüsselname ein zulässiger Variablenname ist und prüft außerdem, ob er mit einem vorhandenen Variablennamen in der Symboltabelle in Konflikt steht. Die Behandlung illegaler und widersprüchlicher Schlüsselnamen wird anhand dieses Parameters bestimmt.
Mögliche Werte:
- EXTR_OVERWRITE – Standard. Bei einem Konflikt werden vorhandene Variablen überschrieben.
- EXTR_SKIP – Überschreiben Sie keine vorhandenen Variablen, wenn ein Konflikt vorliegt.
- EXTR_PREFIX_SAME – Wenn ein Konflikt vorliegt, stellen Sie dem Variablennamen ein Präfix voran.
- EXTR_PREFIX_ALL – Präfix allen Variablennamen voranstellen.
- EXTR_PREFIX_INVALID – Stellt nur unzulässigen oder numerischen Variablennamen ein Präfix voran.
- EXTR_IF_EXISTS – Überschreiben Sie die Werte von Variablen mit demselben Namen nur, wenn sie bereits in der aktuellen Symboltabelle vorhanden sind. Andere werden nicht verarbeitet.
- EXTR_PREFIX_IF_EXISTS – Nur wenn eine Variable mit demselben Namen bereits in der aktuellen Symboltabelle vorhanden ist, wird ein Variablenname mit einem Präfix erstellt und nichts anderes wird verarbeitet.
- EXTR_REFS – Variablen als Referenzen extrahieren. Die importierte Variable verweist weiterhin auf den Wert des Array-Parameters.
|
Präfix |
<?php
$size = "large";
$var_array = array(
"color" => "blue",
"size" => "medium",
"shape" => "sphere"
);
extract($var_array, EXTR_PREFIX_SAME, "wddx");
echo " $color , $size , $shape , $wddx_size <br/>";
?>
Nach dem Login kopieren Optional. Beachten Sie, dass ein Präfix nur erforderlich ist, wenn der Wert von extract_type EXTR_PREFIX_SAME, EXTR_PREFIX_ALL, EXTR_PREFIX_INVALID oder EXTR_PREFIX_IF_EXISTS ist. Wenn das Ergebnis nach dem Anhängen des Präfixes kein zulässiger Variablenname ist, wird dieser nicht in die Symboltabelle importiert. Zwischen dem Präfix und dem Array-Schlüsselnamen wird automatisch ein Unterstrich eingefügt.
|
Rückgabewert
Gibt die Anzahl der erfolgreich in die Symboltabelle importierten Variablen zurück.
Beispiel:
Laufergebnis:
blau, groß, kugelförmig, mittel
Vielen Dank fürs Lesen, ich hoffe, es kann Ihnen helfen, vielen Dank für Ihre Unterstützung dieser Website!