php中文网

PHP全局作用域内的变量修改对函数内变量有何影响

php中文网

在 php 中,函数内变量同名时,函数内变量对全局作用域变量没有影响。具体来说:全局变量可在函数内访问和修改。函数内变量默认局部,只在函数内可用。函数内变量同名时,函数内对同名变量的修改仅限于函数内部,对全局变量无影响。

PHP 全局作用域变量对函数内变量的影响

在 PHP 中,全局作用域内的变量可以在任何地方访问和修改,包括函数内部。函数内部声明的变量默认具有局部作用域,即只在函数内部可见和使用。

当函数内变量与全局变量同名时,函数内变量的修改并不会影响全局变量。这是因为 PHP 采用的是按值传递的传递机制,函数内对变量的修改仅限于函数内部。

立即学习“PHP免费学习笔记(深入)”;

实战案例

以下代码演示了全局变量和函数内变量的修改:

<?php

// 定义一个全局变量
$global_var = 10;

function test() {
    // 声明一个与全局变量同名的局部变量
    $global_var = 20;
    
    // 修改局部变量 global_var
    $global_var += 10;
    
    echo "局部变量 global_var: $global_var" . PHP_EOL;
}

// 调用 test 函数
test();

// 输出全局变量 global_var
echo "全局变量 global_var: $global_var" . PHP_EOL;

?>

输出结果:

局部变量 global_var: 30
全局变量 global_var: 10

从输出结果中可以看到,函数内变量 global_var 的修改仅限于函数内部,而全局变量 global_var 的值保持不变。

以上就是PHP全局作用域内的变量修改对函数内变量有何影响的详细内容,更多请关注php中文网其它相关文章!