根本语法
文件格式
PHP的代码文件因此 .php 结尾的,如 test.php

代码区声明
PHP的代码是由一对<?php 和 ?> 包围起来的,即:
<?php echo "hello world\n";?>
提示:?> 尾标签可以忽略不写,不影响程序的实行。头标签必须写!
输出办法
PHP紧张有两个输出语法:echo 与 print。
echo 和 print 差异:
1. echo - 可以输出一个或多个字符串
2. print - 只许可输出一个字符串,返回值总为 1
提示:echo 输出的速率比 print 快, echo 没有返回值,print有返回值1。
例:
<?php echo "hello world\n"; print "hello world\n";
输出结果:
变量
先容
变量实在可以理解为是一个代数,类似我们从小学习的方程式。例:x + y = 3; x = 1;求y?
在打算机编程措辞中,变量是用于存储信息的“容器”;
变量可以是很短的名称(如 x 和 y)或者更具描述性的名称(比如 man girl tom)。
PHP 变量规则:
1. 变量以 $ 符号开始,后面随着变量的名称
2. 变量名必须以字母或者下划线字符开始
3. 变量名只能包含字母、数字以及下划线(A-z、0-9 和 _ )
4. 变量名不能包含空格
5. 变量名是区分大小写的($y 和 $Y 是两个不同的变量)
把稳:PHP的变量是区分大小写的!
变量利用
由于PHP弱类型措辞的特性,在声明利用变量时,我们无需关注即将要声明的变量的类型。将我们想要存储的数据直接声明并赋值给变量,PHP会自动解析变量类型。而在强类型的编程措辞中,我们必须在利用变量前先声明(定义)变量的类型和名称。
例:
<?php $a = 1; // 整型 $f = 1.0; // 浮点型 $boolean = true; // 布尔型 $string1 = 'hello'; // 字符串 $string2 = "hello"; $array = [1,2,3,4,5,6,7,8,9,10,11]; // 数组 $test = null; // null型
把稳:代码片段中的 // 为注释标签,不影响程序运行。相同的还有 / /
变量浸染域
在所有函数外部定义的变量,拥有全局浸染域。除了函数外,全局变量可以被脚本中的任何部分访问,要在一个函数中访问一个全局变量,须要利用 global 关键字。
在 PHP 函数内部声明的变量是局部变量,仅能在函数内部访问。
<?php$a = 1; //全局变量function test() { $b = 2; // 局部变量 global $a; //通过global关键字来访问全局变量 echo "函数内部利用局部变量是 {$b}\n"; echo "函数内部利用全局变量是 {$a}\n";}test(); //运行函数echo "函数外部利用局部变量是 {$b}\n";echo "函数外部利用全局变量是 {$a}\n";
运行结果:
可以看出,在函数外部去访问函数内部创建的变量$b时,程序代码会报错提示未定义的变量$b,但访问$a不会报错。
把稳:你可以在不同函数中利用相同的变量名称,由于这些函数内定义的变量名称是局部变量,只浸染于该函数内。
Global关键字
global 关键字用于函数内访问全局变量。
在函数内调用函数外定义的全局变量,我们须要在函数中的变量前加上 global 关键字。
PHP 将所有全局变量存储在一个名为 $GLOBALS[index] 的数组中。 index 保存变量的名称。这个数组可以在函数内部访问,也可以直接用来更新全局变量。
<?php $x = 15; $y = 101;function test(){ $GLOBALS['y'] = $GLOBALS['x'] + $GLOBALS['y'];}test();echo $y;
运行结果:
Static关键字
当一个函数完成时,它的所有变量常日都会被删除。然而,有时候您希望某个局部变量不要被删除。这时我们就可以利用static关键字,不过由static声明的局部变量始终还是局部变量,并不能在函数外部进行访问。相较于没有static的局部变量而言,只是不会在函数完成后被删除而已。
例:
<?phpfunction test() { static $a = 0; $a = $a + 1; echo $a."\n";}test();test();test();test();
输出结果:
我们可以看到当我们实行四次test()函数,static(静态)变量$a也就累加了四次。静态变量$a在每次test()函数实行完后都没有被删除,而是连续存在,当我们再次调用test()函数时,PHP就会取出静态变量$a用于函数内部的实行。
那如果我们去掉static会是怎么样呢?
例:
<?phpfunction test() { $a = 0; $a = $a + 1; echo $a."\n";}test();test();test();test();
输出结果:
可以看出,当我们去除static关键字后,test()函数的每次实行都是一次“崭新”的实行。变量$a在每次实行开始时都会重新创建,实行结束后又被删除,并不会像静态变量那样连续留存在内存中。
总结关于PHP的根本语法与变量的声明和利用,我们就学完了。基于弱类型措辞的特点,我们在PHP中利用变量时无需像在C措辞JAVA措辞以及Go措辞这类强类型编程措辞中那样去关注变量的数据类型;PHP会根据我们的赋值自动推导出变量类型;这也就代表着有着相同变量名的变量可以相互覆盖声明而不报错,在我们编程过程中须要避免这种重复覆盖声明利用的情形。
<?php $a = 1; $a = "hello"; echo $a; //我们之前声明的变量a就被后面声明的同名变量所覆盖
运行结果: