Προτεινόμενα μαθήματα:

PHP extract() συνάρτηση

Παράδειγμα

<?php
$a = "Original";
Αποδίδει τις τιμές "Cat", "Dog" και "Horse" στις μεταβλητές $a, $b και $c:
$my_array = array("a" => "Cat","b" => "Dog", "c" => "Horse");;
extract($my_array)
?>

运行实例

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

Ορισμός και χρήση

Η συνάρτηση extract() εισάγει μεταβλητές από τον πίνακα στο τρέχον σύμβολο

Η συνάρτηση αυτή χρησιμοποιεί τα ονόματα των κλειδιών του πίνακα ως ονόματα μεταβλητών και τις τιμές των κλειδιών του πίνακα ως τιμές μεταβλητών. Για κάθε στοιχείο του πίνακα, δημιουργείται μια μεταβλητή στον τρέχοντα πίνακα συμβολών Δεύτερη παράμετρος Τύπος

Χρησιμοποιείται για να καθορίσει πώς η συνάρτηση extract() θα χειριστεί τις σύγκρουσεις όταν ήδη υπάρχει μεταβλητή και στο πίνακα υπάρχει στοιχείο με το ίδιο όνομα

Η συνάρτηση αυτή επιστρέφει τον αριθμό των μεταβλητών που εισήχθησαν επιτυχώς στον πίνακα συμβολών

ΓλώσσαΠεριγραφήextract(extract_rulesextract(πρόθεμα,
) Παράμετροι
Περιγραφή arry
extract_rules

Απαιτείται. Ορίζει το σύνολο που θα χρησιμοποιηθεί

Πιθανές τιμές:

  • EXTR_OVERWRITE - Προεπιλεγμένο. Αν υπάρχει σύγκρουση, καλύπτει τις υπάρχουσες μεταβλητές
  • EXTR_SKIP - Αν υπάρχει σύγκρουση, δεν καλύπτει τις υπάρχουσες μεταβλητές
  • EXTR_PREFIX_SAME - Προσθέτει πρόθεμα στο όνομα της μεταβλητής αν υπάρχει σύγκρουση πρόθεμα.
  • EXTR_PREFIX_ALL - Προσθέτει πρόθεμα σε όλα τα ονόματα μεταβλητών πρόθεμα.
  • EXTR_PREFIX_INVALID - Προσθέτει πρόθεμα μόνο στις μη νόμιμες ή αριθμητικές ονόματα μεταβλητών πρόθεμα.
  • EXTR_IF_EXISTS - Αντικαθιστά τις τιμές των μεταβλητών που υπάρχουν ήδη στον τρέχοντα πίνακα συμβολών, οι άλλες δεν χειρίζονται.
  • EXTR_PREFIX_IF_EXISTS - Δημιουργεί μόνο τις μεταβλητές με πρόθεμα που υπάρχουν ήδη στον τρέχοντα πίνακα συμβολών, οι άλλες δεν χειρίζονται.
  • EXTR_REFS - Εξάγει τις μεταβλητές ως αναφορές. Οι εισαχθείσες μεταβλητές παραμένουν αναφορές των τιμών του παραμέτρου της διαδρομής του μαγνητοφώνου.
πρόθεμα

προαιρετικό. παρακαλώ προσέξτε πρόθεμα 仅在 extract_type 的值是 EXTR_PREFIX_SAME,EXTR_PREFIX_ALL,EXTR_PREFIX_INVALID 或 EXTR_PREFIX_IF_EXISTS 时需要。如果附加了前缀后的结果不是合法的变量名,将不会导入到符号表中。

前缀和数组键名之间会自动加上一个下划线。

技术细节

返回值: 返回成功导入到符号表中的变量数目。
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";
?>

运行实例