导图社区 PHP基础语法
较为全面地总结了PHP语言的基础语法,对重要的知识点都举了如何使用的例子。
编辑于2020-07-20 18:42:16PHP基础语法
代码标记
<?php ... ?>
注释
行注释
// 或 #
块注释
/* */
语句分隔符
分号(;)
例:echo 'hello world';
输出
echo
可一次输出多个值,用逗号分隔
例:echo $v1,$v2;
打印一个值
例:print 'hello';
var_dump()
输出一个或多个表达式的结构信息
例:var_dump($arr);
变量
定义
不需要关键字定义
例:$var1 = 1;
删除
unset()
例:unset($var1);
命名规则
必须以"$"开始
由字母、数字和下划线构成,但不能以数字开头
预定义变量
系统定义的变量(数组)
$_GET
获取所有表单以get方式提交的数据
$_POST
POST提交的数据
$_REQUEST
GET和POST提交的数据
$_SERVER
服务器信息
$_SESSION
session会话数据
$_COOKIE
cookie会话数据
常量
一旦定义,就无法更改
两种定义方式
define()
define('常量名',常量值);
例:define('PI', 3.14);
关键字const (5.3之后)
const N = 10;
命名规则
不使用"$"符号
由字母、数字和下划线构成,但不能以数字开头
通常为大写字母
系统常量
PHP_VERSION
PHP版本号
PHP_INT_SIZE
整型大小
PHP_INT_MAX
整型能表示的最大值
数据类型
三大类型
基本数据类型
整数型(int)
默认为十进制
二进制加"0b"前缀
$a = 0b1000;
八进制加"0"前缀
$a = 0123;
十六进制加"0x"前缀
$a = 0xff;
浮点数(float)
字符串(string)
布尔型(bool)
复合数据类型
对象类型(object)
数组类型(array)
特殊数据类型
资源类型(resource)
外部数据,如数据库、文件
空类型(NULL)
类型转换
变量前用括号强制转换
$b = (float)$a;
类型判断
is_类型(待判断的变量),返回值为True/False
is_int()
例:echo is_int($a);
is_float()
is_string()
类型获取
Gettype(变量名)
获取变量的类型(返回字符串)
例:echo Gettype($a);
运算符
赋值运算符
等号(=)
例:$a = 1;
算术运算符
加(+)、减(-)、乘(*)、除(/)、取余(%)
+=、-=、*=、/=、%=
比较运算符
大于(>)、大于等于(>=)、小于(<)、小于等于(<=)
等于(==)、不等于(!=)
两边数据大小相同(类型可以不同)
全等于(===)、不全等于(!==)
两边数据的大小和类型都相同
逻辑运算符
与(&&)、或(||)、非(!)
位运算符
按位与(&)、按位或(|)、按位非(!)、异或(^)、左移(<<)、右移(>>)
连接运算符
点(.)
将多个字符串拼接
例:echo $s1 . $s2
点等(.=)
例:$s1 .= $s2
错误抑制符
@()
处理异常
例:@($v1 = $v2 / $v3);
三目运算符
表达式1 ? 表达式2 : 表达式3
自操作运算符
++、--
例:$a++; ++$a;
日期与时间
设置时区
date_default_timezone_set('Asia/Shanghai');
time()
获取Unix时间戳(从1970年0时0点至今的秒数)
例:var_dump(time());
microtime()
获取Unix时间戳(从1970年0时0点至今的毫秒数)
mktime()
获取指定时间的Unix时间戳
date()
从Unix时间戳取得对应的时间
字符串常用函数
去除空白或其他字符
trim()
去除字符串首尾处的空白字符(或其他字符)
例:trim($str);//去掉首尾的空格 trim($str,'*');//去掉首尾的*
ltrim()
去除字符串左边的空白字符(或其他字符)
rtrim()
去除字符串右边的空白字符(或其他字符)
大小写转换
strtoupper()
将字符串转为大写
例:echo strtoupper($str);
strtolower()
将字符串转为小写
字符串查找
subtr_count()
在字符串中出现的次数
例:echo subtr_count($str, 'abc');//输出str中出现'abc'的次数
strpos()
查找字符串首次出现的位置, 没找到返回false
例:echo strpos($str,'a');//输出str中首次出现'a'的位置
strstr()
返回$str中从首次出现的位置开始到结尾的字符串
例:echo strstr('hello','l');//输出结果为'llo'
字符串替换
str_replace()
例:str_replace('t','T',$str);//将$str中的't'换成'T'
字符串截取
substr()
例:$str2 = substr($str1,3,4);//从str1[3]处截取长度为4的字符串
数组
数值数组
带有数字ID键的数组
创建
不需要指定数组大小,可包含不同的数据类型
两种方式
array()
例:$arr = array(1,2,3);
直接使用
例:$arr[0] = 1; $arr[1] = 2;
访问
下标访问
例:echo $arr[0];
关联数组
键值对
创建
两种方式
array(),键和值通过"=>"连接
例:$age = array("tony"=>12, "tom"=>10);
直接使用
例:$arr["tony"] = 12;
遍历
foreach循环
例:foreach($age as $x=>$x_value) { echo "Key=" . $x . ",Value=" . $x_value; }
数组长度
count()函数
例:echo count($arr);
函数
定义
function 函数名([参数1,参数2,...参数n]){ 函数体; [return 表达式;] }
例:function hello(){ echo '你好'; }
参数和return可省略
调用
函数名();
例:hello();
循环语句
for循环
for(表达式;判断式;表达式){ ... }
例:for($i = 1;$i<10;$i++){ echo $i; }
while循环
while(条件表达式){ ... }
循环控制
break;
中断当前循环
continue;
重新开始循环
分支语句
if分支
if(条件表达式){ ... } elseif(条件表达式){ ... } else{ ... }
switch分支
switch(变量){ case 值1: ... break; case 值2: ... break; ... default: ... }