26、PHP数组函数(compact、extract)

阅读() @2018-10-29 18:16:06

1、compact():把变量转换为数组,变量名作为键名,变量值作为键值:

第一种写法:

$webname = '赵一鸣博客';
$weburl = 'http://www.zymseo.com';
$arry = array('webname','weburl');
echo '<pre>';
print_r(compact($arry));

第二种写法:

$webname = '赵一鸣博客';
$weburl = 'http://www.zymseo.com';
echo '<pre>';
print_r(compact('webname','weburl'));

2、extract():把数组转换为变量,键名作为变量名,键值作为变量值:

$webname = '百度';
$arry = array('webname'=>'赵一鸣博客','weburl'=>'http://www.zymseo.com');
extract($arry);
echo $webname."<br/>";?//赵一鸣博客
echo $weburl.'<br/>';//http://www.zymseo.com
$webname = '百度';
$arry = array('webname'=>'赵一鸣博客','weburl'=>'http://www.zymseo.com');
extract($arry,EXTR_PREFIX_ALL,c);
echo $c_webname."<br/>";//赵一鸣博客
echo $c_weburl.'<br/>';//http://www.zymseo.com

参数说明:

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 - 将变量作为引用提取。导入的变量仍然引用了数组参数的值。

微信二维码
锐壳主机