目录
- 概述
- 安装环境
- php基础语法
- 变量
- 运算符
- 条件与分支
- 循环
- 数组
概述
- php是一种超文本预处理语言PHP原始为Personal Home Page的缩写,已经正式更名为 “PHP: Hypertext Preprocessor”,PHP 语言作为当今最热门的网站程序开发语言,它具有成本低、速度快、可移植性好、 内置丰富的函数库等优点。
- LAMP:服务器的架构:linux+Apache+mysql+php/python/perl
安装环境
- 关于PHP的安装环境,可以去PHP官网看一下,有详细的PHP各个版本,还有详细的怎样搭配PHP的运行环境,这里就不做过多介绍了
- PHP管网链接(https://www.php.net/)
PHP基础语法格式
- PHP的基础语法文本格式为
- PHP的代码都要放在这个格式里面进行输出以及书写,每段代码后面结尾都要写分号;保证书写规范,JS的分号可写可不写,PHP的分号必须书写
<?php
?>
————————————————
PHP的输出格式
- PHP一共有三种输出方式echo、print、printf
PHP的注释方式
- 单行文本注释还是和JS大差不差的// 两个反斜杠和#一个#
- 多行文本的注释也是/* */
变量
- 变量的声明:
不能以数字开头,不能是关键字
字母数字下划线组成
变量的使用也要带着 符 号 符号 ~ 符号 name=“mumu”
//这就是一个最简单的变量声明
~ - 变量的类型
bool TRUE FALSE 布尔
str “” 字符串
int 123 整数
float 456.456 浮点数
<?php
$score=99.9;
$name="dudu";
$isAudlt=FALSE;
echo $isAudlt,"本班最高分",$score,"由",$name,"获取<br/>";
var_dump($score);
//var_dump()可以用来查看变量的类型
?>
- 变量类型的强制转换
(int)(变量)转换为数字类型
(string)(变量)转换为字符串
(float)(变量)转换为浮点
(bool)(变量)转换为布尔
PHP的运算符
- PHP的运算符和JS的运算符都是一样的,除了一个字符串连接符
- PHP的字符串连接用 . 进行连接
<?php
$x = 2;
echo $x++; //输出2
echo $x; //输出3
$x = 2;
echo ++$x; //输出3
echo $x; //输出3
?>
PHP的条件与分支
- PHP的条件与分支和JS的if语句以及if(){} else{}语句一样,但是PHP里面的if(){}elseif(){}else{}语句要注意else和if之间没有空格,而JS是有空格的,所以这一点一定要区分好
- PHP的循环
- PHP的循环也是和JS一样的两种结构,while循环和for循环
<?php
// while循环
// $i=1;
// while($i<100){
// echo $i,"<br/>";
// $i++;
// }
for($i=100;$i>0;$i--){
echo $i,"<br/>";
}
?>
PHP的数组以及方法
- 创建数组的三种方法
$a1=[1,2,3,4]
$a2=array[1,2,3,4]
$a3=array(key=>value,k2=>v2)
PHP的删除
- PHP的删除方法
unset( a 1 ) u n s e t ( a1) unset( a1)unset(a1[2])
PHP的添加
- PHP的添加方法
$a1[]=88;
$a2[“leg”]=2;
PHP的遍历
- PHP的遍历方法
foreach($arr as v a l u e ) f o r e a c h ( value){} foreach( value)foreach(arr as k e y = > key=> key=>value){}
PHP的常用方法
<?php
$arr1=['a','c','u','b','e','p','f','z'];
//正序
sort($arr1);
print_r($arr1);
//倒序
rsort($arr1);
echo "<br/>";
print_r($arr1);
echo "<br/>";
//乱序
shuffle($arr1);
print_r($arr1);
echo "<br/>";
//连接为字符串
$str=implode("-----",$arr1);
print_r($str);
//炸开数组
$arr2=explode("-----",$str);
echo "<br/>";
print_r($arr2);
?>
array_push()添加
array_pop()删除
sort()正序
rsort()倒序
array_search()查询
array_reverse()翻转
implode()连接为字符串
explode()字符串分割为数组
shuffle()乱序
natsort()自然排序
count() 计算数组长度
explode() 转数组
array_concat() 连接字符串
————————————————
字符串常用方法
-
获取
substr(string,strart.len);
从start截取len位字符
mb_substr(string,start,len,“utf-8”)substr(string,strart.len);
从start截取len位字符
mb_substr(string,start,len,“utf-8”)strrchr(string,str)
从后面查找str,并截取后面的字符 -
替换
str_replace(search,replace,string)
用replace替换search字符 -
计算
strlen()
获取字符串长度strpos(string,str,start)
查找字符串str出现的位置strropos(string,str)
从后查找str出现的位置
时间
配置时间php.ini
date.timezone=PRC
time()
获取1970-1-1到今天的秒数
date(“Y-m-d H:i:s”,time()):
//显示格式如 2008-12-01 14:01
格式化时间戳
strtotime(“2021-10-20”)
通过字符串转换为时间戳
<?php
//php.ini
//date.timezone = PRC
//echo time();
echo date("Y-m-d H:i:s",time()),"<br>";
//字符串转时间戳
$d1 = strtotime('2021-10-19');
$d2 = strtotime('2021-10-20');
echo $d1,"---",$d2,"<br>";
echo ($d2-$d1)/3600,"<br>";
//几分钟前,几小时前,几天前
function forDate($d){
//计算分差(传入时间与当前时间分差)
$dis = (time()-strtotime($d))/60;
//小于三分钟就是刚刚
if($dis<=3){
return "刚刚";
}elseif($dis<60){
return (int)($dis)."分钟前";
}elseif($dis<24*60){
return (int)($dis/60)."小时前";
}elseif($dis<30*24*60){
return (int)($dis/60/24)."天前";
}else{
return $d;
}
}
echo forDate("2021-10-20 14:00");
?>
http全局数组
- $_GET[]
获取所有get请求的参数 - $_POST[]
获取所有的请求 - $_PEQUEST[]
获取所有的请求
jsonp
- json_encode()
数组转jsonp - json_decode()
字符串转数组
header方法
-
header(“Content-type:application/json”;
返回json格式) -
header(“Content-type:text/html;charset=utf-8”);
返回html格式指定 编码
session
1.session是用来保持客服端与服务器端会话的
2.session的值存储在服务器
3.session是通过cookie来传递给客户端
cookie
- 存储在客户端的数据,可以设置过期时间
- 服务器或者客户端都可以修改设置cookie
- 每次http请求都会携带cookie
http响应也会携带cookie