php函数--extract()

刚进公司没多久,现在还在熟悉业务和代码的阶段,公司用的laravel框架,我在看别人写的代码时发现了他用到了extract()这个函数,原谅我学艺不精,刚开始我以为这是laravel中方法(因为我对laravel不太熟),后来请教了代码作者,才知道extract()这个函数原来是php内置的函数,于是我就去文档里找了下,学习了一下。

extract()这个方法官方的的翻译是:从数组中将变量导入到当前的符号表。我觉得就是将数组中的下标,定义为对应的变量,下标对应的值,赋给对应的变量。

例如$arr= ['name' => '张三' , 'age' => 24], 经过extract($arr)之后,就变成{$name = '张三' , $age = 24;}了。

extract()可以有三个参数,第一个是必选的,类型是数组(不传数组,怎么把数组变成对应的 变量 = 值 的格式)。第二个参数是可选的类型有好几个,主要是为了解决变量冲突的,就上面的例子,如果之前已经给$name 赋过值,用此函数第二个参数就可以解决,你想覆盖之前的值就传递 EXTR_OVERWRITE , 如果不想覆盖,可以传递EXTR_SKIP,就可以了。还有其他情况,如果你只想取前面定义过的变量,可以用EXTR_IF_EXISTS 这个值。还可以给变量加上前缀(如果需要的话),这个前缀就是第三个参数。

我觉得extract()这个函数在从前端获取数据的时候很方便,只是安全性我不太确定,等以后知道了在补充。


  • 0
    点赞
  • 3
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值