php基本语法
1,汉字乱码问题
在php程序内部的汉字使用的编码是UTF-8,而输出到浏览器中显示时用的则是GB2312编码。
解决方法:
header("Content-Type:text/html;charset=utf-8")
2,常量的定义
(1)define()函数
参数:
name:常量名称
value:常量取值
case_insensitive:对大小写是否敏感 true:不敏感 false:敏感(默认)
eg:define(“PI”,3.14159)
返回常量值:constant(“常量名”)
eg:constant(“PI”)
(2)关键字const(CONST)
大小写敏感,定义后无法改变
(3)define()和const的区别
版本差异:
- define:在php4,5,7中可以使用
- const:只能在php5.3.0及以后的版本使用
定义位置:
- define:在执行函数时定义,只要调用函数都可以使用
- const:在编译时定义,必须作用于最顶端的作用区域
表达式支持差异:
- define:支持运算符 define(“PI”,3.14159+1)正确
- const:不支持 const AI=(3+3)错误
3,变量的定义
(1)变量名:
- 开头:由字母或下划线
- 后面:任意的数字,字母,下划线
(2)系统预定义变量:(全局变量)
变量名 | 含义 |
---|---|
$GLOBALS | 在php脚本中中任意位置访问全局变量 |
$_SERVER | 保存关于报头,路径和脚本的位置信息 |
$_REQUSET | 收集HTML的表单提交的数据,可信度低,较少使用 |
$_POST | 接收method=“post”表单提交的数据,传递变量 |
$_GET | 接收method=“get”表单或者链接提交的数据 |
$_COOKIE | 经由HTTPCookies方法提交至脚本的变量 |
$_SESSION | 当前注册给脚本会话的变量 |
$_FILES | 经由HTTPPOST文件上传而提交至脚本的变量 |
4,运算符
运算符名 | 运算符 |
---|---|
算术运算符 | +,-,*,/,%,++,– |
赋值运算符 | =,+=,-=,/=,*=,%=,.= |
比较运算符 | >,<,>=,<=,=,==,!= |
逻辑运算符 | &&(与),ll(或),!(非),and,or |
字符串连接运算符 | ,(逗号),.(圆点) 逗号比圆点运算速度快 |
运算结果逻辑值 | true和false |
5,输出语句
echo,print(),print_r(),var_dump()
6,日期和时间
date(格式,时间戳)函数用于格式化时间和日期
时间戳:自1970年1月1日(00:00:00)以来的秒数
格式:
d - 表示月里的某天(01-31)
m - 表示月(01-12)
Y - 表示年(四位数)
1 - 表示周里的某天
h - 带有首位零的 12 小时小时格式
i - 带有首位零的分钟
s - 带有首位零的秒(00 -59)
a - 小写的午前和午后(am 或 pm)
获取当前时间戳函数strtotime()
7,流程控制语句
(1)分支结构
if…语句
- 单分支结构:if(条件){语句序列)
- 双分支结构:if(条件){语句序列1}else{语句序列2}
- 多分支结构:if(条件1){语句序列1}else if(条件2){语句序列2}…else {语序序列n+1}
switch语句
- switch(表达式){
- case 值1:{语句序列1;break;}
- case 值2:{语句序列2;break;}
- …
default:{语句序列n;}
}
(2)循环结构
for语句
- for(表达式1;表达式2;表达式3){循环体}
- for(;表达式2;表达式3){循环体}
- for(表达式1;表达式2;){循环体 表达式3}
- for(;表达式2;){循环体 表达式3}
while语句
- while(条件){循环体} 条件成立就执行
- do…while语句
do{循环体}while(条件)
至少执行一次循环体
8,数组
(1)定义
数组名=array(…)
$arr=array(‘a’,‘b’,‘c’)
(2)获取数组长度
count(数组名称)
(3)数组类型
索引数组:
$arr=array('a','b','efg',24);
关联数组:
$arr=array("animal"=>"panda","name"=>"Betty","age"=>5);
混合数组:
$arr=array(2,"wang",'id'=>5,5=>'hello','world');
多维数组:
$stu=array(
0=>array('No'=>'2018012565','name'=>'zhangyu'),
1=>array('No'=>'2018012566','name'=>'liudong')
)
$stu[0]['name']
遍历数组:
each(数组名)
foreach循环
foreach(数组 as $value){语句序列}
foreach(数组 as $key=>$value){语句序列}
9,把PHP嵌入html的方式
(1)<?php 和?>:PhP标准的分解符。
(2)<?和?>:简写的分解符。
(3)):javaScript/VBScript风格分解符
(4)<%和%>:ASP分解符。