首页 > 代码库 > 【解迷糊】关于PHP的extract()函数提取出的变量的作用域问题
【解迷糊】关于PHP的extract()函数提取出的变量的作用域问题
真理:该函数提取出的变量遵循 变量作用域 的原则,见下图:
四种情况:
class Test { public function dosome() { $arr = [‘x‘ => ‘xing‘, ‘y‘ => ‘ya‘]; extract($arr); } public function get() { return $x; } } $test = new Test(); $test->dosome(); $a = $test->get(); echo $a; //无法打印
$arr = [‘x‘ => ‘xing‘, ‘y‘ => ‘ya‘]; if (true) { extract($arr); } echo $x; //可以打印
function test1() { $arr = [‘x‘ => ‘xing‘, ‘y‘ => ‘ya‘]; extract($arr); } test1(); echo $x; //无法打印
$arr = [‘x‘ => ‘xing‘, ‘y‘ => ‘ya‘]; extract($arr); echo $x; //可以打印
【解迷糊】关于PHP的extract()函数提取出的变量的作用域问题
声明:以上内容来自用户投稿及互联网公开渠道收集整理发布,本网站不拥有所有权,未作人工编辑处理,也不承担相关法律责任,若内容有误或涉及侵权可进行投诉: 投诉/举报 工作人员会在5个工作日内联系你,一经查实,本站将立刻删除涉嫌侵权内容。