在PHP的日常使用中,我们经常需要将PHP数组中的数据直接变为一个个单独的变量,以方便使用,免得使用过程中需要按照数组的格式才能对数组的值进行使用,本文就带大家一起来看一看PHP中的内置函数extract(),帮助我们解决这一麻烦。
首先我们来看一看,extrac()函数的语法:
extract (array $arr, int $flags = EXTR_OVERWRITE , string $prefix = "" )
-
$arr:关联数组(数字索引的数组将不会产生结果,除非用了 $flags=EXTR_PREFIX_ALL 或者 EXTR_PREFIX_INVALID。 )
-
$flags:可选,对待非法/数字和冲突的键名的方法将根据取出标记$flags 参数决定
-
$prefix:可选, 仅在 $flags=EXTR_PREFIX_SAME,EXTR_PREFIX_ALL,EXTR_PREFIX_INVALID , EXTR_PREFIX_IF_EXISTS 时需要。 如果附加了前缀后的结果不是合法的变量名,将不会导入到符号表中。前缀和数组键名之间会自动加上一个下划线。
-
返回值:返回成功导入到符号表中的变量数目。
代码示例:
1.只有$arr一个参数
<?php
$arr=array(
"name"=>"张三",
"age"=>"27",
"gender"=>"男",
"profession"=>"法外狂徒"
);
$extract_num=extract($arr);
echo $extract_num."<br>";
echo $name."<br>";
echo $age."<br>";
echo $gender."<br>";
echo $profession."<br>";
输出:4
张三
27
男
法外狂徒
2.三个参数
<?php
$profession="职业张三";
$arr=array(
"name"=>"张三",
"age"=>"27",
"gender"=>"男",
"profession"=>"法外狂徒",
);
$extract_num= extract($arr, EXTR_PREFIX_SAME, "wddx");
echo $extract_num."<br>";
echo $name."<br>";
echo $age."<br>";
echo $gender."<br>";
echo $profession."<br>";
echo $wddx_profession."<br>";
输出: 4
张三
27
男
职业张三
法外狂徒
我们会发现原变量未被覆盖,因为$flag的值为EXTR_PREFIX_SAME,在出现冲突时添加了前缀$prefix
声明:本站所有文章,如无特殊说明或标注,均为本站原创发布。任何个人或组织,在未征得本站同意时,禁止复制、盗用、采集、发布本站内容到任何网站、书籍等各类媒体平台。如若本站内容侵犯了原著者的合法权益,可联系我们进行处理。

评论(0)