简介
PHP全称是超文本预处理器,是一种通用开源脚本语言
可以包含文本,HTML,JavaScript和PHP代码
可以用于生成动态页面内容;创建,打开,读取,写入,关闭服务器上的内容;收集表单数据,接受发送cookie等
语法
基本语法
PHP脚本可以放在文档中的任何位置
PHP脚本是以<?PHP开始,以?>结束
在PHP版本更新后,如果只是调试运行PHP程序,可以只写<?PHP
PHP文件通常还包括了HTML标签和一些PHP脚本代码
例如,包含HTML标签的1
2
3
4
5
6
7
8
9
10
11
12
<html>
<body>
<h1>My first PHP page</h1>
echo "Hello World!";
</body>
</html>
就会在浏览器中输出Hello World!
也可以直接进行调试1
2
3
echo "Hello World";
注释
PHP的注释和C语言,HTML很想
1 | // PHP单行注释 |
变量
PHP的变量以$开头
1 |
|
运行结果为1
11
PHP变量
PHP的变量规则与C语言很像1
2
3
4
5变量以$符号开始,后面跟着变量名称
变量名必须以字母或者下划线字符开始
变量名只能包含字母数字字符以及下划线
变量名不能包括空格
变量名区分大小写
声明变量
1 | <?php |
将文本值给变量时,文本值两次加上引号
这里可以看出PHP是一门弱类型语言,不用提前声明好变量的类型,直接声明赋值即可
变量作用域
1 | local 局部 |
global关键字
1 |
|
可以看到x,y在函数外进行了声明,在函数中添加了global关键字,对其进行了运算操作
PHP将所有全局变量都存储在一个名为$GLOBALS[index]的数组中。index保存变量的名称,这个数组可以在函数内部访问,也可以直接用来更新全局变量
例如1
2
3
4
5
6
7
8
9
10
11
$x=5;
$y=10;
function myTest()
{
$GLOBALS['y']=$GLOBALS['x']+$GLOBALS['y'];
}
myTest();
echo $y;
运行结果仍为15
static作用域
一个函数完成时,所有的变量都会被删除,但是有时候希望某个局部变量不要被删除,就需要使用static关键字
1 |
|
运行结果:1
2
30
1
2
每次调用该函数时,该变量将会保留着函数前一次被调用时的值
参数作用域
参数是在参数列表中声明的,也可以作为函数声明的一部分1
2
3
4
5
6
function myTest($x)
{
echo $x;
}
myTest(5);
运行结果为5
这个类似于是C语言的带参函数
echo和print
区别
1 | echo 可以输出一个或多个字符串 |
echo语句
echo是一个语言结构,使用时可以不加上括号,也可以加上:echo或echo()
1 |
|
运行结果:1
2Hello world!
5
print语句
和echo差不多,可以带括号也可以不带1
2
3
4<?php
$x=5;
print "Hello world!\n";
print($x);
运行结果:1
2Hello world!
5
EOF使用说明
PHP EOF(heredoc)是一种在命令行shell(如sh、csh、ksh、bash、PowerShell和zsh)和程序语言(像Perl、PHP、Python和Ruby)里定义一个字符串的方法
概述1
2
3
4
5
6
7
8
9必须后接分号,否则编译不通过
EOF 可以用任意其它字符代替,只需保证结束标识与开始标识一致。
结束标识必须顶格独自占一行(即必须从行首开始,前后不能衔接任何空白和字符)。
开始标识可以不带引号或带单双引号,不带引号与带双引号效果一致,解释内嵌的变量和转义符号,带单引号则不解释内嵌的变量和转义符号
当内容需要内嵌引号(单引号或双引号)时,不需要加转义符,本身对单双引号转义,此处相当与q和qq的用法
例如1
2
3
4
5
6
7
8
$name="runoob";
$a= <<<EOF
"abc"$name
"123"
EOF;
// 结束需要独立一行且前后不能空格
echo $a;
运行结果:1
2"abc"runoob
"123"
数据类型
String(字符串), Integer(整型), Float(浮点型), Boolean(布尔型), Array(数组), Object(对象), NULL(空值)
字符串
一个字符串是一串字符的序列,就像”Hello World”
可以将任何文本放在单引号和双引号中
1 |
|
运行结果:1
2Hello world!
Hello world!
整型
整型顾名思义就是没有小数点的数字
规则1
2
3
4
5
6
7
8
9整型必须至少有一个数字(0-9)
整数不能包括逗号或空格
整数是没有小数点的
整数可以是正数或负数
可以以十进制,十六进制(0x开头),八进制(0开头)
var_dump()函数可以返回变量的数据类型和值:1
2
3
4
5
6
7
8
9
$x = 5985;
var_dump($x);
$x = -345; // 负数
var_dump($x);
$x = 0x8C; // 十六进制数
var_dump($x);
$x = 047; // 八进制数
var_dump($x);
运行结果:1
2
3
4int(5985)
int(-345)
int(140)
int(39)
浮点型
浮点型是带小数部分的数字,或是指数形式1
2
3
4
5
6
7
8
9<?php
var_dump($x);
var_dump($x);
var_dump($x);
运行结果:1
2
3float(10.365)
float(2400)
float(8.0E-5)
布尔型
布尔型只有两个类型True或False1
2$x=true;
$y=false;
这个用于判断,流程控制
数组
数组可以在一个变量中存储多个值1
2
3
$cars=array("Volvo","BMW","Toyota");
var_dump($cars);
运行结果:1
2
3
4
5
6
7
8array(3) {
[0]=>
string(5) "Volvo"
[1]=>
string(3) "BMW"
[2]=>
string(6) "Toyota"
}
对象
对象数据类型也可以用于存储数据
在PHP中,对象必须声明
首先,你必须使用class关键字声明类对象,类可以包含属性和方法的结构
1 |
|
NULL值
NULL值表示变量没有值。NULL是数据类型为NULL的值
NULL值指明一个变量是否为空值。同样可以用于数据空值和NULL值的区别
1 |
|
运行结果:1
NULL
总结
1.<?PHP开始,以?>结束,这一项在有HTML代码的时候,必须要以?>结尾,调试时可以不用
2.PHP在版本更新之后,echo和print可以带括号,也可以不带括号
3.PHP是弱类型语言,不用提前声明变量的数据类型
4.global关键字使用时,会将声明的变量都添加到$GLOBALS[index]中