zoukankan      html  css  js  c++  java
  • 变量在函数内外的作用域 2

    function fn() {
    	echo "inside the function, $var = ".$var."<br>";
    	$var = "content 2";
    	echo "inside the function, $var = ".$var."<br>";
    }
    $var = "content 1";
    fn();
    echo "outside  the function, $var = ".$var."<br>";
    
    echo "<br><br>";
    

    输出:

    inside the function, $var =
    inside the function, $var = content 2
    outside the function, $var = content 1
    

     函数在被调用之前是不会执行的,所以第一条执行的语句$var = "content",该语句创建了一个名为$var的变量,它具有全局作用域且值为"content 1",下一条执行的语句是调用函数fn(),函数内部的代码按顺序执行,函数第一行引用了一个名为$var的变量,当这行被执行时,就不能看到前面创建的变量$var了,所以它创建了一个具有函数作用域的新变量并将它显示出来,这就是输出的第一行。
    函数内的下一行代码将变量$var的内容设为"content 2"。因为是在函数内部,所以这一行改变了局部$var值,而不是那个全局变量,输出的第二行证实了这个改变。

  • 相关阅读:
    电话号码组合 hash表
    合并区间
    最小路径和 动态规划
    计数排序
    插入排序
    选择排序
    归并排序
    C#中不同程序集(dll)存在相同的命名空间
    生成otp token 脚本
    MySQL 组合索引、唯一组合索引的原理
  • 原文地址:https://www.cnblogs.com/jacson/p/4222677.html
Copyright © 2011-2022 走看看