php的变量作用域

男娘i 2022-09-18 00:52 247阅读 0赞
  1. 前段时间在用php写一个留言本时就出现了一个问题,当时是解决了,可没有明白原因。今天在看一本php的书时,终于明白了其原因。其实就是变量的作用域的问题。下面我来说一说php变量的一些东东。
  2. <?php

$a = 30;
function setNumber()
{
$a = 60;
echo $a.”
“;
}
setNumber();
echo $a;

  1. ?>
  2. 就比如说上面的一段程序,第一个$a是全局变量,函数setNumber()里的$a就是一个局部变量。全局变量在整个php程序中都有效,局部变量只在函数体内有效。可我们在函数体内却用不了全局变量。

<?php
$a = 30;
function setNumber()
{
$b = 20;
$b += $a;
echo $b.”
“;
}
setNumber();
echo $a;
?>

比如说上面的程序会报错,$a未定义。如果要使用的话,可在上面的程序中加 global $a; 即可。我但是就犯了这样一个错误。

我在一个数据库的类中,比如说是sql.class.php中:

<?php

class SqlHelper

{

  1. ……

}

//最后

$db = new SqlHelper();

?>

然后我又在一个functions.php中:

<?php

include ‘sql.class.php’;

function Search()

{

//直接引用

……

$db->getFields($sql, $fields);

}

?>

肯定的,就出错了。我当时的解决办法就是把sql.class.php中的$db = new SqlHelper();去掉,将这句话写在functions.php,我定义的函数里,我当时没有明白这是什么原因。现在明白了,特意写出来和大家分享啦。

发表评论

表情:
评论列表 (有 0 条评论,247人围观)

还没有评论,来说两句吧...

相关阅读

    相关 php变量作用

        前段时间在用php写一个留言本时就出现了一个问题,当时是解决了,可没有明白原因。今天在看一本php的书时,终于明白了其原因。其实就是变量的作用域的问题。下面我来说一说p

    相关 golang:变量作用

    一个变量(常量、类型或函数)在程序中都有一定的作用范围,称之为作用域。 了解变量的作用域对我们学习Go语言来说是比较重要的,因为Go语言会在编译时检查每个变量是否使用过,一旦

    相关 PHP作用

    变量能够被访问到的区域。 js中作用域:   全局作用域:任何地方(函数外和函数内)都可以被使用   局部作用域:只能在函数内部被使用 PHP也有两个作用域:全局

    相关 javascript变量作用

    基本类型和引用类型 基本类型值指的是简单的数据段,而引用类型值指的是那个可能由多个值组成的对象 讲一个值赋值给变量时,javascript解析器首先要确定是基本类型还是