1. 云栖社区>
  2. PHP教程>
  3. 正文

php访问函数外的变量

作者:用户 来源:互联网 时间:2017-11-30 11:55:42

php函数变量访问

php访问函数外的变量 - 摘要: 本文讲的是php访问函数外的变量, php在函数内无法访问函数体外声明的变量 php版本:7.1.8 运行环境:win7 x64 <?php $out = 'outvariables'; function test(){ echo

php在函数内无法访问函数体外声明的变量

php版本:7.1.8
运行环境:win7 x64

<?php    $out = 'outvariables';    function test(){        echo $out;//Notice: Undefined variable: $out    }    #无法访问到$out变量

当使用global关键字的时候,如果test()中改变了outout也会一起改变

<?php    $out = 'outvariables';    function test(){        global $out;        $out='another';        echo $out;    }    echo $out;// outvariables    echo "/n";    test();// another    echo "/n";    echo $out;//another

这样的结果可能不是我们想要的。

解决方案

使用匿名函数和use关键字

<?php $out = 3; $test = function()use($out){//use 按值        $out++;        echo $out;//4  };$test();//4echo $out;//3 $out值并未改变$test2 = function() use(&$out){//按引用传参        $out++;        echo $out;//4};$test2();//4echo $out;//4 $out 改变

这样使用&符号就可以灵活的使用外部变量,决定是否需要改变其状态。

以上是云栖社区小编为您精心准备的的内容,在云栖社区的博客、问答、公众号、人物、课程等栏目也有的相关内容,欢迎继续使用右上角搜索按钮进行搜索php , 函数 , 变量 访问 ,以便于您获取更多的相关知识。

弹性可伸缩的计算服务,助您降低 IT 成本,提升运维效率

40+云计算产品,6个月免费体验

现在注册,免费体验40+云产品,及域名优惠!

云服务器9.9元/月,大学必备