php教程自学网 - 轻松零基础学php视频教程
条幅广告
当前位置: 主页 > PHP基础入门 >

PHP变量

时间:2018-08-22 18:43来源:未知 作者:admin 点击:
变量是用于存储信息的容器: 大家在读初中的时候呀。老师经常会这么教大家。 请问,李磊和韩梅梅同学,假如: x = 5 y = 6 那么x + y 等于多少呢?大家会义无反顾的回答。x + y 等于11。

变量是用于存储信息的"容器":

  大家在读初中的时候呀。老师经常会这么教大家。

  请问,李磊和韩梅梅同学,假如:

  x = 5

  y = 6

  那么x + y 等于多少呢?大家会义无反顾的回答。x + y 等于11。

  接下来我们看下面的初中的数学知识,请问x + y 的结果是多少?

  x = 5

  y = 6

  x = 8

  我估计大家也会义无反顾的回答:x + y 的结果为14。

  这就是变量!

  变量的几个特点:

  1. x = 5 将右边值5,赋值给左边的x

  2. 第二段x = 8,最后x + y 的结果等于14,说明x在从上到下的运算(执行)中,可以被重新赋值。

  PHP 变量

  我们在PHP中的变量也是如此。不过有几个特点:

  1. 必须要以$开始。如变量x必须要写成$x

  2. 变量的首字母不能以数字开始

  3. 变量的名字区分大小写

  4. 变量不要用特殊符号、中文,_不算特殊符号

  5. 变量命名要有意义(别写xxx,aaa,ccc这种 变量名)

  6. $ 叫作美元符,英文单词:dollar。PHP的变量必须以美元符开始。说明搞PHP有“钱”图

  创建(声明)PHP 变量

  PHP 没有声明变量的命令。

  变量在您第一次赋值给它的时候被创建:

  

  $txt="Hello world!";

  $x=5;

  $y=10.5;

  ?>

  在上面的语句执行中,变量 txt 将保存值 Hello world!,且变量 x 将保存值 5。

  注释:当您赋一个文本值给变量时,请在文本值两侧加上引号。

  PHP 是一门弱类型语言

  在上面的实例中,我们注意到,不必向 PHP 声明该变量的数据类型。

  PHP 会根据变量的值,自动把变量转换为正确的数据类型。

  在强类型的编程语言中,我们必须在使用变量前先声明(定义)变量的类型和名称。

  PHP 变量作用域

  变量的作用域是脚本中变量可被引用/使用的部分。

  PHP 有四种不同的变量作用域:

  · local

  · global

  · static

  · parameter

  局部和全局作用域局部和全局作用域(loacal global)

  在所有函数外部定义的变量,拥有全局作用域。除了函数外,全局变量可以被脚本中的任何部分访问,要在一个函数中访问一个全局变量,需要使用 global 关键字。

  实例

  在 PHP 函数内部声明的变量是局部变量,仅能在函数内部访问:

  

  header("Content-type:text/html;charset=utf-8");

  $x=5; // 全局变量

  function myTest()

  {

  $y=10; // 局部变量

  echo "

测试函数内变量:

";

  echo "变量 x 为: $x"; //输出错误 Notice: Undefined variable:

  echo "
";

  echo "变量 y 为: $y";

  }

  myTest();

  echo "

测试函数外变量:

";

  echo "变量 x 为: $x";

  echo "
";

  echo "变量 y 为: $y"; //输出错误 Notice: Undefined variable:

  在以上实例中 myTest() 函数定义了 $x 和 $y 变量。 $x 变量在函数外声明,所以它是全局变量 , $y 变量在函数内声明所以它是

  局部变量。

  当我们调用myTest()函数并输出两个变量的值, 函数将会输出局部变量 $y 的值,但是不能输出 $x 的值,因为 $x 变量在函数外定

  义,无法在函数内使用,如果要在一个函数中访问一个全局变量,需要使用 global 关键字。

  然后我们在myTest()函数外输出两个变量的值,函数将会输出全局部变量 $x 的值,但是不能输出 $y 的值,因为 $y 变量在函数中

  定义,属于局部变量。

  注 你可以在不同函数中使用相同的变量名称,因为这些函数内定义的变量名是局部变量,只作用于该函数内。

  PHP global 关键字

  global 关键字用于函数内访问全局变量。

  实例

  在函数内调用函数外定义的全局变量,我们需要在函数中的变量前加上 global 关键字:

  

  $x=10;

  $y=20;

  function test(){

  global $x,$y; //使用global关键字

  $y=$x+$y;

  }

  test();

  echo $y;//输出30

  PHP 将所有全局变量存储在一个名为 $GLOBALS[index] 的数组中。 index 保存变量的名称。这个数组可以在函数内部访问,也

  可以直接用来更新全局变量。

  上面的实例可以写成这样:

  

  $x=5;

  $y=10;

  function myTest()

  {

  $GLOBALS['y']=$GLOBALS['x']+$GLOBALS['y'];

  }

  myTest();

  echo $y;

  ?>

  Static 作用域

  当一个函数完成时,它的所有变量通常都会被删除。然而,有时候您希望某个局部变量不要被删除。

  要做到这一点,请在您第一次声明变量时使用 static 关键字:

  实例

  

  function myTest()

  {

  static $x=0;

  echo $x;

  $x++;

  }

  myTest();

  myTest();

  myTest();

  myTest();

  ?>

  然后,每次调用该函数时,该变量将会保留着函数前一次被调用时的值。

  注释:该变量仍然是函数的局部变量。

  参数作用域

  参数是通过调用代码将值传递给函数的局部变量。

  参数是在参数列表中声明的,作为函数声明的一部分:

  实例

  ?php

  function myTest($x)

  {

  echo $x;

  }

  myTest(name);

  ?>

(责任编辑:admin)
顶一下
(0)
0%
踩一下
(0)
0%
------分隔线----------------------------
相关推荐
  • PHP 数据库 ODBC
  • ODBC 是一种应用程序编程接口(Application Programming Interface,API),使我们有能力

  • PHP MySQL Delete
  • DELETE 语句用于从数据库表中删除行。 删除数据库中的数据 DELETE FROM 语句用于从

  • PHP MySQL Update
  • UPDATE 语句用于中修改数据库表中的数据。 更新数据库中的数据 UPDATE 语句用于

  • PHP MySQL Order By 关键词
  • ORDER BY 关键词用于对记录集中的数据进行排序。 ORDER BY 关键词 ORDER BY 关键词用

  • PHP MySQL Where 子句
  • WHERE 子句用于过滤记录。 WHERE 子句 WHERE 子句用于提取满足指定标准的的记录。

  • PHP MySQL 读取数据
  • 从 MySQL 数据库读取数据 SELECT 语句用于从数据表中读取数据: SELECT column_name(s)

  • PHP MySQL 预处理语句
  • 预处理语句对于防止 MySQL 注入是非常有用的。 预处理语句及绑定参数 预处理语

  • PHP MySQL 插入多条数据
  • 使用 MySQLi 和 PDO 向 MySQL 插入多条数据 mysqli_multi_query() 函数可用来执行多条SQ

  • PHP MySQL 插入数据
  • 使用 MySQLi 和 PDO 向 MySQL 插入数据 在创建完数据库和表后,我们可以向表中添加

  • PHP 创建 MySQL 表
  • 一个数据表有一个唯一名称,并有行和列组成。 使用 MySQLi 和 PDO 创建 MySQL 表