PHP 教程

PHP 教程 PHP 简介 PHP 下载安装 PHP 语法 PHP 注释 PHP 变量 PHP Echo / Print PHP 数据类型 PHP 字符串 PHP 数值 PHP Math PHP 常量 PHP 运算符 PHP If...Else...Elseif PHP Switch PHP 循环 PHP 函数 PHP 数组 PHP 全局变量 PHP 正则表达式

PHP 表单

PHP 表单处理 PHP 表单验证 PHP 表单验证必填字段 PHP 表单验证URL/E-mail PHP 表单验证实例

PHP 高级教程

PHP 日期和时间 PHP Include PHP 文件处理 PHP 文件打开/读取 PHP 文件创建/写入 PHP 文件上传 PHP Cookies PHP Sessions PHP Filters PHP Filters Advanced PHP 回调函数 PHP JSON PHP 异常处理

PHP 面向对象

PHP 什么是 OOP PHP 类和对象 PHP 构造函数 PHP 析构函数 PHP 访问修饰符 PHP 继承 PHP 类常量 PHP 抽象类 PHP 接口 PHP 特征 PHP 静态方法 PHP 静态属性 PHP 命名空间 PHP 可迭代对象

MySQL 数据库

MySQL Database MySQL Connect MySQL Create DB MySQL Create Table MySQL Insert Data MySQL Get Last ID MySQL Insert Multiple MySQL Prepared MySQL Select Data MySQL Where MySQL Order By MySQL Delete Data MySQL Update Data MySQL Limit Data

PHP XML

PHP XML Parsers PHP SimpleXML Parser PHP SimpleXML - Get PHP XML Expat PHP XML DOM

PHP - AJAX

AJAX Intro AJAX PHP AJAX Database AJAX XML AJAX Live Search AJAX Poll

PHP 实例

PHP 实例 PHP 编译器 PHP 测验 PHP 练习

PHP 参考手册

PHP 概述 PHP Array PHP Calendar PHP Date PHP Directory PHP Error PHP Exception PHP Filesystem PHP Filter PHP FTP PHP JSON PHP Keywords PHP Libxml PHP Mail PHP Math PHP Misc PHP MySQLi PHP Network PHP Output Control PHP RegEx PHP SimpleXML PHP Stream PHP String PHP Variable Handling PHP XML Parser PHP Zip PHP Timezones


PHP 变量

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


创建(声明)PHP 变量

在PHP中,变量以 $ 符号开始,后面跟着变量的名称:

实例

<?php
$txt = "Hello world!";
$x = 5;
$y = 10.5;
?>
亲自试一试 »

执行上述语句后,变量 $txt 将保存值 Hello world!,变量 $x 将保存值 5,变量 $y 将保存值 10.5。

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

注释: 与其他编程语言不同,PHP 没有用于声明变量的命令。它是在您第一次为其赋值时创建的。

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


PHP 变量

变量可以是很短的名称(如 x 和 y)或者更具描述性的名称(如 age、carname、totalvolume)。

PHP 变量规则:

  • 变量以 $ 符号开始,后面跟着变量的名称
  • 变量名必须以字母或者下划线字符开始
  • 变量名不能以数字开头
  • 变量名不能包含空格
  • 变量名只能包含字母数字字符以及下划线(A-z、0-9 和 _ )
  • 变量名是区分大小写的($y 和 $Y 是两个不同的变量)

PHP 语句和 PHP 变量都是区分大小写的!



输出变量

PHP echo 语句通常用于向屏幕输出数据。

以下示例将显示如何输出文本和变量:

实例

<?php
$txt = "W3Schools.com";
echo "I love $txt!";
?>
亲自试一试 »

以下示例将产生与上述示例相同的输出:

实例

<?php
$txt = "W3Schools.com";
echo "I love " . $txt . "!";
?>
亲自试一试 »

以下示例将输出两个变量的总和:

实例

<?php
$x = 5;
$y = 4;
echo $x + $y;
?>
亲自试一试 »

注释: 在下一章中,您将进一步了解 echo 语句以及如何将数据输出到屏幕。


PHP 是一门弱类型语言

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

PHP 会根据变量的值,自动把变量转换为正确的数据类型。由于数据类型不是严格意义上的设置,因此可以在不导致错误的情况下执行向整数添加字符串之类的操作。

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

在 PHP 7 中,添加了类型声明。这提供了一个选项来指定声明函数时所需的数据类型,通过启用严格要求,它将在类型不匹配时抛出 "致命错误" 。

PHP 函数 一章中,您将了解有关严格(strict) 和非严格 non-strict 要求以及数据类型声明的更多信息。


PHP 变量作用域

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

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

  • local
  • global
  • static

局部和全局作用域

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

实例

全局变量:

<?php
$x = 5; // global scope

function myTest() {
  // using x inside this function will generate an error
  echo "<p>Variable x inside function is: $x</p>";
}
myTest();

echo "<p>Variable x outside function is: $x</p>";
?>
亲自试一试 »

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

实例

局部变量:

<?php
function myTest() {
  $x = 5; // local scope
  echo "<p>Variable x inside function is: $x</p>";
}
myTest();

// using x outside the function will generate an error
echo "<p>Variable x outside function is: $x</p>";
?>
亲自试一试 »

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


PHP The global 关键字

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

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

实例

<?php
$x = 5;
$y = 10;

function myTest() {
  global $x, $y;
  $y = $x + $y;
}

myTest();
echo $y; // outputs 15
?>
亲自试一试 »

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

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

实例

<?php
$x = 5;
$y = 10;

function myTest() {
  $GLOBALS['y'] = $GLOBALS['x'] + $GLOBALS['y'];
}

myTest();
echo $y; // outputs 15
?>
亲自试一试 »

static 作用域

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

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

实例

<?php
function myTest() {
  static $x = 0;
  echo $x;
  $x++;
}

myTest();
myTest();
myTest();
?>
亲自试一试 »

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

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


PHP 实验

学习训练

练习题:

创建一个名为 txt 的变量并赋值为 "Hello"

 = "";