Php/php variables
PHP变量
变量是用于存储信息的“容器”。
创建(声明)PHP变量
在PHP中,变量以
$
符号,后跟变量名称:
例
<?php $txt = "Hello world!"; $x = 5; $y = 10.5; ?>
执行以上语句后,变量
$txt
将保持价值
Hello world!
,变量
$x
将保持价值
5
和变量
$y
将保持价值
10.5
.
注意: 将文本值分配给变量时,请在该值两边加上引号。
注意: 与其他编程语言不同,PHP没有用于声明变量的命令。它是在您首次为其分配值时创建的。
将变量视为存储数据的容器。
PHP变量
变量可以具有短名称(如x和y)或更具描述性的名称(年龄,汽车名称,total_volume)。
PHP变量规则:
- 变量以
$
符号,后跟变量名称 - 变量名称必须以字母或下划线字符开头
- 变量名不能以数字开头
- 变量名称只能包含字母数字字符和下划线(A-z,0-9和_)
- 变量名称区分大小写(
$age
and$AGE
是两个不同的变量)
请记住,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中,添加了类型声明。这提供了一个选项,用于指定声明函数时期望的数据类型,并且通过启用严格要求,它将在类型不匹配时引发“致命错误”。
您将了解更多有关
strict
and
non-strict
要求和数据类型声明
PHP函数
章节。
PHP变量范围
在PHP中,可以在脚本中的任何位置声明变量。
变量的范围是脚本中可以引用/使用变量的部分。
PHP具有三个不同的变量范围:
- 本地
- 全球
- 静态的
全球和本地范围
声明的变量 外 函数具有全局范围,并且只能在函数外部访问:
例
具有全局范围的变量:
<?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 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
变量之前(在函数内部)的关键字:
例
<?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 ?>
PHP静态关键字
通常,当一个函数完成/执行时,它的所有变量都会被删除。但是,有时我们希望不删除局部变量。我们需要它来做进一步的工作。
为此,请使用
static
首次声明变量时的关键字:
例
<?php function myTest() { static $x = 0; echo $x; $x++; } myTest(); myTest(); myTest(); ?>
然后,每次调用该函数时,该变量仍将具有自上次调用该函数以来所包含的信息。
注意: 该变量仍然是函数的局部变量。
PHP练习