理解和使用PHP超级全局变量

PHP(中文名称:“超文本预处理器”)是一种通用的开源脚本语言。语法吸收了C语言、Java和Perl的特点,易学易用,应用广泛,主要适用于网络开发。

PHP脚本在服务器上执行,然后将纯HTML结果发送回浏览器。

基本PHP语法
PHP脚本可以放在文档的任何地方。

PHP 脚本以 <?php 开始,以 ?> 结束:

<?php
 // PHP 代码
 ?>

PHP 文件的默认文件扩展名是 “.php”。

PHP 文件通常包含 HTML 标签和一些 PHP 脚本代码。

下面,我们提供了一个简单的 PHP 文件实例,它可以向浏览器输出文本 “Hello World!”:

<!DOCTYPE html>
 <html>
 <body>
 <h1>My first PHP page</h1>
<?php
 echo "Hello World!";
 ?>
 </body>
 </html>

PHP 中的每个代码行都必须以分号结束。分号是一种分隔符,用于把指令集区分开来。

通过 PHP,有两种在浏览器输出文本的基础指令:echo 和 print

<!DOCTYPE html>
 <html>
 <body>
<?php
 // 这是 PHP 单行注释
 /*
 这是 
 PHP 多行
 注释
 */
 ?>
 </body>
 </html>

PHP 变量
变量是用于存储信息的”容器”:
<?php
 $x=5;
 $y=6;
 $z=$x+$y;
 echo $z;
 ?>

在数学中,我们知道字母代表变化的量,所以

x=5
y=6
z=x+y

在代数中,我们使用字母(如x)并给它们赋值(如5)。

从上面的表达式z=x+y,我们可以计算z的值为11。

在PHP中,这些字母被称为变量。

与代数相似,PHP变量可以被赋予一个值(x=5)或一个表达式(z=x+y)。

变量可以是短名称(如x和y)或更具描述性的名称(如年龄、卡纳梅、总体积)。

PHP变量规则:

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

在上面的例子中,我们注意到没有必要将变量的数据类型声明为PHP。

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

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

本地和全球范围
在所有函数之外定义的变量都有全局范围。除了函数之外,脚本的任何部分都可以访问全局变量。要访问函数中的全局变量,需要使用全局关键字。

在PHP函数中声明的变量是只能在函数中访问的局部变量。
<?php
$x=5; // 全局变量

function myTest()
{
$y=10; // 局部变量
echo "<p>Test variables inside the function:<p>";
echo "Variable x is: $x";
echo "<br>";
echo "Variable y is: $y";
} 

myTest();

echo "<p>Test variables outside the function:<p>";
 echo "Variable x is: $x";
echo "<br>";
echo "Variable y is: $y";
?>

 在上面的例子中,myTest()函数定义了$x和$y变量。$x变量是在函数外部声明的,所以它是一个全局变量,而$y变量是在函数内部声明的,所以它是一个局部变量。

当我们调用myTest()函数并输出两个变量的值时,函数将输出局部变量$y的值,但不能输出$x的值,因为$x变量是在函数外部定义的,不能在函数内部使用。如果要访问函数中的全局变量,需要使用global关键字。

然后我们在myTest()函数之外输出两个变量的值。该函数将输出完整局部变量$x的值,但不能输出$y的值,因为$y变量是在函数中定义的,并且属于局部变量。

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

PHP全局关键字
全局关键字用于访问函数中的全局变量。

要调用函数内函数外定义的全局变量,我们需要在函数中的变量前添加全局关键字:
<?php
 $x=5;
$y=10;

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

 myTest();
 echo $y; // 输出 15
 ?>

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

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

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

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

 myTest();
 echo $y;
 ?>

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

为此,请在首次声明变量时使用静态关键字:

<?php

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

 myTest();
 myTest();
 myTest();

 ?>

转载请注明出处:理解和使用PHP超级全局变量
本文链接:https://www.cmezy.com/blog/phpbl

评论0

请先

没有账号? 忘记密码?