目录
php是一种运行在服务器端的脚本语言,可以嵌入到html中。
这种标记是官方推荐使用,还有其他标记方法。
-
- echo "Hello,php"; //输出一句话
- ?>
- // c++风格注释
- # Shell风格注释
/* C风格注释 */
php中常量必须使用define()函数声明且一旦声明不可修改。
参数$name和$value是必选的,分别用于指定常量的名称和值。
参数$case_insensitive是可选的,用于指定常量名称是否对大小写敏感,如果是true,表示不敏感,默认情况为false,即对大小写敏感。
define("变量名",值)
- define("DEFINE","hello");
- echo DEFINE;
- ?>
变量由$和变量名组成
$a=10;
值只有true和false;
不区分大小写,true = TRUE
代码:
$bool1=true; $bool2=false;
用来表示不包含小数部分的数,可以用二进制、八进制.....表示;
八进制表示时,数字前需要加上0;
十六进制表示,数字前加0x;
如果给定的数字超出最大范围,则导致数据丢失精度。
例:
$a=123; $b=-123; $c=0123(八进制,等于83)
可存储整数和小数,有两种书写格式:
- 方式一:标准格式
- $a=3.1415;
- 方式二:科学计数法格式
- $b=2.58E1
字符串是连续的字符序列,可以由字母、数字、符号组成,字符串中每个字符只占一个字节。
定义方式是单引号和双引号,例:
$a=‘字符串’; $b=“字符串”;
注意:在双引号中的字符串会被解析,而在单引号中的字符串不会被解析。
变量的数据类型是在赋值时确定的,为了检测变量所赋的值是否是期望的数据类型,php提供了一组is_*()函数,括号内的参数为要检测的变量,如果检测变量符合,则返回true,否则false。
函数名称 | 功能描述 |
is_bool | 检测变量是否属于布尔类型 |
is_string | 检测变量是否属于字符串类型 |
is_float | 检测变量是否属于浮点类型 |
is_integer | 检测变量是否属于整型 |
is_null | 检测变量是否属于空值 |
is_array | 检测变量是否属于数组 |
is_resource | 检测变量是否属于资源 |
is_object | 检测变量是否属于对象类型 |
is_numeric | 检测变量是否属于数字或数字组成的字符串 |
php中,可以将一个变量的值作为另一个变量的名称,这就是可变变量;
可变变量是一种特殊的变量,它的名称不是事先定义好的,而是可以动态地设置与使用。
例:
变量
$txt = 'abc';
可变变量
- $$txt = 'Hello';
- 等价于:
- $abc = 'Hello';
自动类型转换指的是变量的类型由php自动转换,我们无需任何操作,最常见的自动类型转换有三种,分别为转为布尔型、转为整型、转为字符型。
以下情况转换为false
除了以上几种情况,其他值都会被转换为true
例:
- <?php
-
- $foo = "100page"; //$foo声明一个字符串;
-
- $foo +=2; //$foo现在是一个整型,值为102;
-
- $foo = $foo + 1.3; //$foo现在是一个浮点数,值为103.3;
-
- $foo = null + "10 Little Piggies"; //$foo现在是一个整型,值为10;
-
- $foo = 5 + "10.05 yuan"; //$foo现在是一个浮点型,值为15.05
-
- ?>
只需在变量前加一个小括号,并把目标类型写在括号里即可实现。
强转类型 | 功能描述 |
(boolean) | 强转为布尔型 |
(string) | 强转为字符串型 |
(integer) | 强转为整型 |
(float) | 强转为浮点型 |
(array) | 强转为数组 |
(object) | 强转为对象 |
运算符类型 | 运算符 |
算术运算符 | 用于处理四则运算 |
字符串运算符 | 用于连接字符串 |
赋值运算符 | 用于将表达式的值赋给变量 |
递增或递减运算符 | 用于自增或自减运算 |
比较运算符 | 用于表达式的比较,并返回一个真值或假值 |
逻辑运算符 | 用于根据表达式的值返回真值或假值 |
位运算符 | 用于处理数据的位运算 |
错误控制运算符 | 用于忽略因表达式运算错误而产生的错误信息 |
instanceof | 用于判断一个对象是否是特定类型的实例 |
运算符 | 运算 | 范例 | 结果 |
+ | 正号 | +3 | 3 |
- | 负号 | -2 | -2 |
+ | 加 | 5+5 | 10 |
- | 减 | 6-4 | 2 |
* | 乘 | 3*4 | 12 |
/ | 除 | 5/5 | 1 |
% | 取模(即算术中的求余数) | 7%5 | 2 |
可以通过一条赋值语句对多个变量赋值,例:
-
- $a;
- $b;
- $c;
- $a=$b=$c=5;
- echo $a.'--'.$b.'--'.$c;
-
- ?>
运算符 | 运算 | 范例 | 结果 |
= | 赋值 | $a=3;$b=2; | $a=3;$b=2; |
+= | 加等于 | $a=3;$b=2;$a+=$b; | $a=5;$b=2; |
-= | 减等于 | $a=3;$b=2;$a-=$b; | $a=1;$b=2; |
*= | 乘等于 | $a=3;$b=2;$a*=$b; | $a=6;$b=2; |
/= | 除等于 | $a=3;$b=2;$a/=$b; | $a=1.5;$b=2; |
%= | 模等于 | $a=3;$b=2;$a%=$b; | $a=1;$b=2; |
.= | 连接等于 | $a='abc';$a .= 'def'; | $a='abcdef' |
php支持纯字母(a-z和A-Z)的递增运算,其他字符无效;
例:
- $a = "A";
- $a++;
- echo $a
- ?>
- // 结果为"B"
运算符 | 运算 | 范例 | 结果 |
++ | 自增(前) | $a=2;$b=++$a; | $a=3;$b=3; |
++ | 自增(后) | $a=2;$b=$a++; | $a=3;$b=2; |
-- | 自减(前) | $a=2;$b=--$a; | $a=1;$b=1; |
-- | 自减(后) | $a=2;$b=$a--; | $a=1;$b=2; |
运算符 | 运算 | 范例($x=5) | 结果 |
== | 等于 | $x == 4 | false |
!= | 不等于 | $x != 4 | true |
<> | 不等于 | $x <> 4 | true |
=== | 恒等 | $x === 5 | true |
!== | 不恒等 | $x !== '5' | true |
> | 大于 | $x > 5 | false |
>= | 大于或等于 | $x >= 5 | true |
< | 小于 | $x < 5 | false |
<= | 小于或等于 | $x <= 5 | true |
结果为布尔型
运算符 | 运算 | 范例 | 结果 |
&& | 与 | $a && $b | $a和$b都为true,结果为true,否则为false |
|| | 或 | $a || $b | $a和$b中至少有一个为true,则结果为true,否则为false |
! | 非 | !$a | 若$a为false,结果为true,否则相反 |
xor | 异或 | $a xor $b | $a和$b其一为true,但不同时是,结果为true,否则为false |
and | 与 | $a and $b | 与&&相同,但优先级较低 |
or | 或 | $a or $b | 与||相同,但优先级较低 |
针对二进制数的每一位进行运算的符号,专门针对数字0和1进行操作。
运算符 | 名称 | 例子 | 结果 |
& | 按位与 | $a & $b | $a和$b每一位进行“与”操作后的结果 |
| | 按位或 | $a | $b | $a和$b每一位进行“或”操作后的结果 |
~ | 按位非 | ~ $a | $a的每一位进行“非”操作后的结果 |
^ | 按位异或 | $a ^ $b | $a和$b每一位进行“异或”操作后的结果 |
<< | 左移 | $a << $b | 将$a左移$b次(每一次移动都表示“乘以2”) |
>> | 右移 | $a >> $b | 将$a右移$b次(每一次移动都表示“除以2”) |
使用@符号表示,放在表达式前,将忽略该表达式可能产生的任何错误信息;
@只对表达式有效,可以放在变量、函数including()调用、常量之前,但不能放在函数或类的定义前。
例:
$a = @4/0;
优先级自上至下递减。
结合方向 | 运算符 |
无 | New |
左 | [ |
右 | ++ -- ~ (int) (float) (string) (array) (object) @ |
无 | Instanceof |
右 | ! |
左 | * / % |
左 | + - . |
左 | << >> |
无 | == != === !== <> |
左 | & |
左 | ^ |
左 | | |
左 | && |
左 | || |
左 | ? : |
右 | = += -= *= /= .= %= &= |= ^= <<= >>= |
左 | and |
左 | xor |
左 | or |
左 | , |
主要包括选择结构语句和循环结构语句。
常见的有:if、if...else、if....elseif....else和switch...case四种
例:
- $num=90;
- if($num>60){
- echo '合格';
- }
- echo '
'; - echo '程序结束';
- ?>
例:
- $num=90;
- if($num>60){
- echo '合格';
- }else{
- echo '不合格';
- }
- echo '
'; - echo '程序结束';
- ?>
例:
- header('content-type:text/html;charset=utf-8');
- $num=87;
- if($num>=90){
- echo '优秀';
- }elseif($num>=80){
- echo '良好';
- }elseif($num>=60){
- echo '及格';
- }else{
- echo '不及格';
- }
- echo '
'; - echo '程序结束';
- ?>
可以使用分号代替case语句后的冒号;
如果多个case条件后面的执行语句是一样的,则该执行语句只需书写一次;
switch语句中的break可以使用continue代替;
- 语法格式如下:
- switch (表达式){
- case 目标值1:
- 执行语句1
- break;
- ......
- case 目标值n:
- 执行语句n
- break;
- default:
- 执行语句n+1
- break;
- }
有while、do...while、for三种。
例:
-
- $a=1;
- while($a<=5){
- echo '$a='.$a.'
'; - $a++;
- }
-
- ?>
执行语句在do{}中,循环体会无条件执行一次。
例:
-
- $a=1;
- do{
- echo '$a='.$a.'
'; - $a++;
- }while($a<=5);
-
- ?>
-
- for($i=1;$i<=5;$i++){
- echo '$i='.$i.'
'; - }
-
- ?>