PHP extract() 函数

实例

将键值 "Cat"、"Dog" 和 "Horse" 赋值给变量 $a、$b 和 $c:

<?php
$a = "Original";
$my_array = array("a" => "Cat","b" => "Dog", "c" => "Horse");
extract($my_array);
echo "\$a = $a; \$b = $b; \$c = $c";
?>

လက်ရှိ အခြေအနေ

定义和用法

extract() 函数从数组中将变量导入到当前的符号表。

该函数使用数组键名作为变量名,使用数组键值作为变量值。针对数组中的每个元素,将在当前符号表中创建对应的一个变量。

第二个参数 type 用于指定当某个变量已经存在,而数组中又有同名元素时,extract() 函数如何对待这样的冲突。

该函数返回成功导入到符号表中的变量数目。

语法

extract(array,extract_rules,prefix)
参数 描述
array 必需。规定要使用的数组。
extract_rules

可选。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 အား ပါဝင်သော ကြည့်မှတ်ချက်များ ဖြစ်သော အခါအနေဖြင့် လိုအပ်သည်။ ပထမပိုင်း ပေါ်တွင် အသုံးပြုခြင်း မှ အသုံးပြုခြင်း မဟုတ် သေးသေးသည် မဟုတ် မူပိုင်ခွင့် မဟုတ် သေးသေးသည် ဖြစ်သော အချိန်ချိန် အား အသုံးပြုခြင်း မဟုတ် သည်။

ပထမပိုင်း နှင့် အသုံးပြုခြင်း အတွက် အချိန်ချိန်မှာ အတွက် ကို အဆိုပါ အချိန်ချိန် ပါဝင်သည်။

နည်းပါးဆိုင်ရာ

ပြန်ပေးချက် အားလုံး ပြင်ဆင်ထားသော အပ်စ်လျှောက်ခြင်း ကို ပြန်ပေးသည်။
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";
?>

လက်ရှိ အခြေအနေ