1.认识PHP标签
PHP 脚本以
1
2
3
4
5
注意:;号不能少而.英文点字符串拼接,echo关键字与字符串之间至少要有一个空格,echo是PHP中的输出语句类似Java的println
2.创建(声明)PHP变量,PHP 是一门弱类型语言
1
2
3
4
5
6
7
8
变量以 $ 符号开始,后面跟着变量的名称
变量名必须以字母或者下划线
变量名只能包含字母数字字符以及下划线(A-z、0-9 和 _ )
变量名不能包含空格
变量名是区分大小写的(y和y和Y 是两个不同的变量)
在上面的实例中,我们注意到,不必向 PHP 声明该变量的数据类型。
PHP 会根据变量的值,自动把变量转换为正确的数据类型。
在强类型的编程语言中,我们必须在使用变量前先声明(定义)变量的类型和名称。
3.PHP 变量作用域
变量的作用域是脚本中变量可被引用/使用的部分。
PHP 有四种不同的变量作用域:
● local //局部
● global //全局,调用全局所需关键字
● static //让局部变量不随函数调用完而销毁的关键字
● parameter //参数变量
局部和全局作用域
在所有函数外部定义的变量,拥有全局作用域。除了函数外,全局变量可以被脚本中的任何部分访问,要在一个函数中访问一个全局变量,需要使用 global 关键字。
在 PHP 函数内部声明的变量是局部变量,仅能在函数内部访问:
"; echo "变量x为: $x"; //输出为空,要想输出为1需呀用到global 关键字 echo "
"; echo "变量y为: $y"; //输出为2 } test(); echo "
测试函数外接收的变量:
"; echo "变量 x 为: $x"; //输出为1 echo "
"; echo "变量 y 为: $y"; //输出为空,无法调用局部变量 ?>
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
PHP global 关键字
global 关键字用于函数内访问全局变量。
在函数内调用函数外定义的全局变量,我们需要在函数中的变量前加上 global 关键字:
1
2
3
4
5
6
7
8
9
10
11
PHP 将所有全局变量存储在一个名为 $GLOBALS[index] 的数组中。 index 保存变量的名称。这个数组可以在函数内部访问,也可以直接用来更新全局变量。
上面的实例可以写成这样:
1
2
3
4
5
6
7
8
9
10
Static 作用域
当一个函数被调用完后,函数内的所有变量通常都会被删除。然而,有时候希望某个局部变量不要被删除。
那么在第一次声明的局部变量时使用 static 关键字如下:
1
2
3
4
5
6
7
8
9
10
11
12
参数(parameter)作用域
参数是通过调用代码将值传递给函数的局部变量。
参数是在参数列表中声明的,作为函数声明的一部分:
1
2
3
4
5
6
7
4.PHP echo 和 print 语句
在 PHP 中有两个基本的输出方式: echo 和 print。
echo 是一个语言结构,使用的时候可以不用加括号,也可以加上括号: echo 或 echo()。
print 同样是一个语言结构,可以使用括号,也可以不使用括号: print 或 print()。
echo 和 print 区别:
● echo - 可以输出一个或多个字符串
● print - 只允许输出一个字符串,返回值总为 1
提示:echo属于语句语法,print可以看做函数,所以echo 输出的速度比 print 快, echo 没有返回值,print有返回值1。
例子:
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
5.PHP 数据类型
String(字符串), Integer(整型), Float(浮点型), Boolean(布尔型), Array(数组), Object(对象), NULL(空值)。
PHP 字符串(String)
可以将任何文本放在单引号和双引号中:
"; $x = 'Hello World!'; echo $x; ?>1
PHP 整型
整数是一个没有小数的数字。
整数规则:
在以下实例中我们将测试不同的数字。 PHP var_dump() 函数返回变量的数据类型和值:
"; $x = -123; // 负数 var_dump($x); echo "1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
PHP 浮点型
浮点数是带小数部分的数字,或是指数形式。
在以下实例中我们将测试不同的数字。 PHP var_dump() 函数返回变量的数据类型和值:
1
2
3
4
5
6
7
8
9
10
11
12
PHP 布尔型
布尔型可以是 TRUE 或 FALSE。
1
2
3
4
5
6
7
PHP 数组(后面会有更详细的介绍)
数组可以在一个变量中存储多个值。
1
2
3
4
PHP 对象
对象数据类型也可以用于存储数据。
在 PHP 中,对象必须声明。
首先,你必须使用class关键字声明类对象。类是可以包含属性和方法的结构。
然后我们在类中定义数据类型,然后在实例化的类中使用数据类型:
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
PHP NULL 值
NULL 值表示变量没有值。NULL 是数据类型为 NULL 的值。
NULL 值指明一个变量是否为空值。 同样可用于数据空值和NULL值的区别。
可以通过设置变量值为 NULL 来清空变量数据:
1
2
3
4
5
6.PHP 常量
常量是一个简单值的标识符。该值在脚本中不能改变。
一个常量由英文字母、下划线、和数字组成,但数字不能作为首字母出现。 (常量名不需要加 $ 修饰符)。
注意: 常量在整个脚本中都可以使用。
设置 PHP 常量
设置常量,使用 define() 函数,函数语法如下:
define ( 常量名, 常量值, 布尔类型值(可选参数,如果设置为 TRUE,该常量则大小写不敏感。默认是大小写敏感的。))
1
2
3
4
5
6
7
1
2
3
4
5
常量是全局的
常量在定义后,默认是全局变量,可以在整个运行的脚本的任何地方使用。
以下实例演示了在函数内使用常量,即便常量定义在函数外也可以正常使用常量。
1
2
3
4
7.PHP 字符串
PHP 并置运算符(字符串拼接符合)
在 PHP 中,只有一个字符串运算符。
并置运算符 (.) 用于把两个字符串值连接起来,刚开始有提及到下面再复习下:
1
2
3
4
5
6
7
8
9
10
11
PHP strlen() 函数
strlen() 函数返回字符串的长度(字符数)。
1
*提示:***strlen() 常常用在循环和其他函数中,因为那时确定字符串何时结束是很重要的。(例如,在循环中,我们需要在字符串中的最后一个字符之后结束循环。)
PHP strpos() 函数
strpos() 函数用于在字符串内查找一个字符或一段指定的文本。
如果在字符串中找到匹配,该函数会返回第一个匹配的字符位置。如果未找到匹配,则返回 FALSE。
1
2
3
4
提示:在上面的实例中,字符串 “world” 的位置是 6。之所以是 6 而不是 7 的原因是,字符串中第一个字符的位置是 0,而不是 1。
完整的 PHP String 参考手册(知识拓展)
如需查看所有字符串函数的完整参考手册,请访问菜鸟教程的 PHP String 参考手册。
拓展:
1
1
2
3
4
8.PHP 数据类型的转换
PHP是弱类型语言,因为在我们申明一个变量的时候,并不需要指明它保存的数据类型,但是PHP虽然是弱语言,但有时候仍然需要用到类型转换。
PHP的数据类型转换属于强制转换,允许转换的PHP数据类型有:
PHP数据类型有三种转换方式:
在要转换的变量之前加上用括号括起来的目标类型(强制转换)
使用3个具体类型的转换函数,intval()、floatval()、strval()
使用通用类型转换函数settype(mixed var,string type),
成功时返回 TRUE, 或者在失败 时返回 FALSE。
第一种转换方式: (int) (bool) (float) (string) (array) (object)
'; var_dump($num2); //输出int(3) echo '1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
第二种转换方式: intval() floatval() strval()
1
2
3
4
5
6
7
8
9
10
11
第三种转换方式: settype();
1
2
3
4
5
6
7
8
9
10
11
PHP变量的数据类型自动转换
PHP会自动把变量转换为自动的数据类型
"; ?>1
2
3
4
5
6
7
8
9
10
11
12
13
8.PHP 运算符
PHP 算术运算符
加(+)、减(-)、乘(*)、除(/)、取余(%)
'; // 换行 echo ($x - $y); // 输出4 echo '1
2
3
4
5
6
7
8
9
10
11
PHP7+ 版本新增整除运算符 intdiv(),使用实例:
1
PHP 赋值运算符
左操作数被设置为右侧表达式的值
=、+=、-=、*=、/=、%=、 .=(除=号外,其他符号都是自身加、减、乘、除、取余、拼接另一个数再赋值给自身的变量)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
PHP 递增/递减运算符
运算符 名称 描述
++ x 预递增 x 加 1,然后返回 x
x ++ 后递增 返回 x,然后 x 加 1
– x 预递减 x 减 1,然后返回 x
x – 后递减 返回 x,然后 x 减 1
1
2
3
4
5
PHP 比较运算符
运算符 名称 描述 实例
x == y 等于 如果 x 等于 y,则返回 true 58 返回 false
x === y 绝对等于 如果 x 等于 y,且它们类型相同,则返回 true 5=”5” 返回 false
x != y 不等于 如果 x 不等于 y,则返回 true 5!=8 返回 true
x <> y 不等于 如果 x 不等于 y,则返回 true 5<>8 返回 true
x !== y 绝对不等于 如果 x 不等于 y,或它们类型不相同,则返回 true 5!==”5” 返回 true
x > y 大于 如果 x 大于 y,则返回 true 5>8 返回 false
x < y 小于 如果 x 小于 y,则返回 true 5<8 返回 true
x >= y 大于等于 如果 x 大于或者等于 y,则返回 true 5>=8 返回 false
x <= y 小于等于 如果 x 小于或者等于 y,则返回 true 5<=8 返回 true
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
PHP 逻辑运算符
运算符 名称 描述 实例
x and y 与 如果 x 和 y 都为 true,则返回 true x=6,y=3 (x < 10 and y > 1) 返回 true
x or y 或 如果 x 和 y 至少有一个为 true,则返回 true x=6,y=3 (x6 or y5) 返回 true
x xor y 异或 如果 x 和 y 有且仅有一个为 true,则返回 true x=6,y=3 (x6 xor y3) 返回 false
x && y 与 如果 x 和 y 都为 true,则返回 true x=6,y=3(x < 10 && y > 1) 返回 true
x ‖ y() 或 如果 x 和 y 至少有一个为 true,则返回 true x=6,y=3(x5 ‖ y5) 返回 false
! x 非 如果 x 不为 true,则返回 true x=6,y=3
!(x==y) 返回 true|
三元运算符
语法格式
(expr1) ? (expr2) : (expr3)
1
对 expr1 求值为 TRUE 时的值为 expr2,在 expr1 求值为 FALSE 时的值为 expr3。
自 PHP 5.3 起,可以省略三元运算符中间那部分。表达式 expr1 ?: expr3 在 expr1 求值为 TRUE 时返回 expr1,否则返回 expr3。
1
2
3
4
5
6
7
8
9
注意:PHP_EOL 是一个换行符,兼容更大平台。
在 PHP7+ 版本多了一个 NULL 合并运算符 ??,实例如下:
1
2
3
4
5
组合比较符(PHP7+)
太空船操作符,即 <=>,又称组合比较运算符,结合比较运算符。
语法是这样的:c=c=a <=> $b;
这句代码的意思是