轻松上手,快乐学习!

PHP 教程

PHP 教程PHP 简介PHP 下载安装PHP 语法PHP 注释PHP 变量PHP Echo / PrintPHP 数据类型PHP 字符串PHP 数值PHP MathPHP 常量PHP 运算符PHP If...ElsePHP SwitchPHP 循环While 循环Do While 循环For 循环Foreach 循环Break/ContinuePHP 函数PHP 数组索引数组关联数组多维数组数组排序PHP 全局变量$GLOBALS$_SERVER$_REQUEST$_POST$_GETPHP 正则表达式PHP 表单处理PHP 表单验证PHP 表单验证必填字段PHP 表单验证URL/E-mailPHP 表单验证实例PHP 日期和时间PHP IncludePHP 文件处理PHP 文件打开/读取PHP 文件创建/写入PHP 文件上传PHP CookiesPHP SessionsPHP FiltersPHP Filters AdvancedPHP 回调函数PHP JSONPHP 异常处理PHP 什么是 OOPPHP 类和对象PHP 构造函数PHP 析构函数PHP 访问修饰符PHP 继承PHP 类常量PHP 抽象类PHP 接口PHP 特征PHP 静态方法PHP 静态属性PHP 命名空间PHP 可迭代对象MySQL DatabaseMySQL ConnectMySQL Create DBMySQL Create TableMySQL Insert DataMySQL Get Last IDMySQL Insert MultipleMySQL PreparedMySQL Select DataMySQL WhereMySQL Order ByMySQL Delete DataMySQL Update DataMySQL Limit DataPHP XML ParsersPHP SimpleXML ParserPHP SimpleXML - GetPHP XML ExpatPHP XML DOMAJAX IntroAJAX PHPAJAX DatabaseAJAX XMLAJAX Live SearchAJAX PollPHP 实例PHP 编译器PHP 测验PHP 练习

PHP 参考手册

PHP 概述PHP ArrayPHP CalendarPHP DatePHP DirectoryPHP ErrorPHP ExceptionPHP FilesystemPHP FilterPHP FTPPHP JSONPHP KeywordsPHP LibxmlPHP MailPHP MathPHP MiscPHP MySQLiPHP NetworkPHP Output ControlPHP RegExPHP SimpleXMLPHP StreamPHP StringPHP Variable HandlingPHP XML ParserPHP ZipPHP 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 = "begtut.com";
echo "I love $txt!";
?>
亲自试一试 »

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

实例

<?php
$txt = "begtut.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"

 = "";