پیشنهاد دوره:

توابع extract() PHP

مثال

<?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(prefix,
) پارامتر
شرح array
extract_rules

ضروری. تعیین آرایه‌ای که باید استفاده شود.

مقادیر ممکن:

  • 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 دارد. اگر نتیجه اضافه کردن پیشوند به نام متغیر قانونی نباشد، به جدول نمادها وارد نخواهد شد.

یک خط زیر اتوماتیکاً بین پیشوند و نام کلیدهای آرایه اضافه خواهد شد.

جزئیات فنی

مقدار بازگشتی: تعداد متغیرهایی که با موفقیت وارد جدول نمادها شده‌اند را برمی‌گرداند.
نسخه 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";
?>

اجرای نمونه