语法
PHP脚本可以放在文档中的任何位置,脚本以“<?php”开头,以“?>”结尾。PHP语句以分号结尾。PHP有三种注释方式,其中“//”和“#”为单行注释,“/* */”为多行注释。
PHP中所有用户定义的函数、类和关键词都对大小写不敏感,而对于变量则大小写敏感。
变量
PHP变量命名规则为:1.以“$”开头,后面是变量名称。
2.变量名必须以字母或下划线开头,不能以数字开头。
3.变量名只能包含字母、数字以及下划线。
4.变量名对大小写敏感。
PHP变量会在首次为其赋值时被创建,创建变量时不需要指定类型,PHP会根据值的类型,自动把变量转换为正确的数据类型。在PHP中,可以在任意位置声明变量,变量有三种不同的作用域:local(局部)、globl(全局)、static(静态)。在函数之外声明的变量具有global作用域,只能在函数以外进行访问。在函数内部声明的变量具有local作用域,只能在函数内部进行访问。
有两种方式可以在函数内部访问函数外的变量:
1.在函数内通过在要使用的全局变量前使用global关键字。
2.通过$GLOBALS[index]数组访问全局变量,下标index为全局变量的变量名。
通常情况下,函数执行完成后,会删除所有的局部变量,但有时需要不删除某个变量,此时可以使用static关键字。这样当每次函数被调用时,变量的值为函数上一次调用结束后的值。static关键字修饰的变量仍然为局部变量。
常量
常量在脚本执行期间是不能改变的,常量默认是大小写敏感的,通常常量都是大写的。常量名的命名规则是,以字母或下划线开始,后面跟着字母、数字或下划线,常量的范围是全局的,可以在脚本的任何地方访问常量。但是要避免定义“__xxx__”这种形式的常量,因为在PHP中这是 魔术常量的表示形式。如果以此形式定义常量,在以后的版本中可能会出现问题。定义常量需要使用define()函数,此函数有三个参数:第一个参数为常量名称、第二个参数为常量的值、第三个为可选参数,规定常量名是否对大小写不敏感,默认为false,即对大小写敏感。PHP5.3后还可以通过const关键字定义常量,两者略有 区别。
输出语句
PHP中有两种输出语句:echo和print。两者都是语言结构,所以使用时有无括号均可。两者的不同是,echo能够输出一个以上的字符串,而print只能输出一个字符串,并始终返回1,echo比print稍快。<!DOCTYPE html>
<html>
<body>
<h1>我的第一张 PHP 页面</h1>
<?php
@header("Content-type: text/html; charset=utf-8");
echo "Hello World!";
?>
<?php
$x=1; // 全局作用域
function myTest() {
$y=2; // 局部作用域
#echo为关键字,大小写不敏感
Echo "<p>测试函数内部的变量:</p>";
eCHo "变量 x 是:$x";
echo "<br>";
echo "变量 y 是:$y";
}
myTest();
echo "<p>测试函数之外的变量:</p>";
echo "变量 x 是:$x";
echo "<br>";
echo "变量 y 是:$y";
?>
<?php
$x=1;
$y=2;
function myTest1() {
global $x,$y;
$y=$x+$y;
}
function myTest2() {
$GLOBALS['y']=$GLOBALS['x']+$GLOBALS['y'];
}
myTest1();
echo $y; // 输出 3
myTest2();
echo $y; // 输出 4
?>
<?php
function staticTest() {
static $x=0;
echo $x;
$x++;
}
staticTest();
staticTest();
staticTest();
/*echo可以输出一个以上字符串
print只能输出一个字符串
*/
echo "Hello world!<br>";
echo "This", " string", " was", " made", " with multiple parameters.";
print "Hello world!<br>";
//常量
define("Constant", "myConstant");
echo Constant;
define("Constant1", "myConstant1",true);
echo constant1;
?>
</body>
</html>