目录
- 概述
- 安装环境
- php基础语法
- 变量
- 运算符
- 条件与分支
- 循环
- 数组
- 字符串
- 时间
- http全局数组
- jsonp方法
- header方法
- session
- cookie
- 小结
概述
- php是一种超文本预处理语言PHP原始为Personal Home Page的缩写,已经正式更名为 “PHP: Hypertext Preprocessor”,PHP 语言作为当今最热门的网站程序开发语言,它具有成本低、速度快、可移植性好、 内置丰富的函数库等优点。
- LAMP:服务器的架构:linux+Apache+mysql+php/python/perl
安装环境
- 关于PHP的安装环境,可以去PHP官网看一下,有详细的PHP各个版本,还有详细的怎样搭配PHP的运行环境,这里就不做过多介绍了
- PHP管网链接
PHP基础语法格式
- PHP的基础语法文本格式为
PHP的代码都要放在这个格式里面进行输出以及书写,每段代码后面结尾都要写分号;保证书写规范,JS的分号可写可不写,PHP的分号必须书写
<?php
?>
PHP的输出格式
- PHP一共有三种输出方式echo、print、printf
<?php
echo "Hello World世界和平<br/>";
echo "我喜欢这个世界<br/>";
$name = "dudu";
$age = "3";
echo $name,$age;
// 每一行结束必须带分号
echo "大家好啊,我是$name,今年$age 岁了<br/>";
echo '大家好啊,我是$name,今年$age 岁了';
print_r($age)
printf("大家好啊,我是%s,今年%.2f 岁了",$name,$age);
?>
PHP的注释方式
- 单行文本注释还是和JS大差不差的// 两个反斜杠和#一个#
- 多行文本的注释也是/* */
<?php
echo "Hello World世界和平<br/>";
echo "我喜欢这个世界<br/>";
$name = "dudu";
$age = "3";
#echo $name,$age;
// 必须带分号
/* echo "大家好啊,我是$name,今年$age 岁了<br/>";
echo '大家好啊,我是$name,今年$age 岁了';
print_r($age) */
printf("大家好啊,我是%s,今年%.2f 岁了",$name,$age);
?>
变量
- 变量的声明:
不能以数字开头,不能是关键字
字母数字下划线组成
变量的使用也要带着$符号
$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($a1)
unset($a1[2])
PHP的添加
- PHP的添加方法
$a1[]=88;
$a2["leg"]=2;
PHP的遍历
- PHP的遍历方法
foreach($arr as $value){}
foreach($arr as $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()自然排序
字符串常用方法
获取
- substr(string,start,length)
从start截取length位字符
mb_substr(string,start,length,“utf-8”)
$str="山不在高,有仙则灵,水不在深,有龙则灵,虽是陋室,惟吾德馨,苔痕上阶绿,草色入帘青";
$sub= substr($str,0,30);
// $sub=mb_substr($str,0,30,"utf-8");
echo $sub;
echo "<br/>";
substr(string,start,length)获取文字的时候一般来说是一个文字等于三个字符,所以如果获取的时候不是三的倍数的时候最后一个文字通常会乱码
mb_substr(string,start,length,“utf-8”)和上面的办法基本一致,但是不会出现上诉的乱码格式,最后的utf-8则是为了告诉浏览器输出的是utf-8格式
- strstr(string,str)获取str后面的字符串
$str="我爱我.的.祖国.png";
$end=strstr($str,".");
echo $end;
- strrchr(string,str)从后面查找str,并截取后面的字符
$str="我爱我.的.祖国.png";
$end=strrchr($str,".");
//strrchr($str,查找的字符串);
//查找str,并从查找的位置返回剩余长度
$ext=substr($end,1);
//substr($end,从多少位,截取长度);
//截取字符串
echo $ext;
替换
- str_replace(search,replace,string)用replace去替换search字符
$str="我爱我的祖国,我的祖国是中国";
//查找字符串里面的“祖国”并用“国家”替换
$str2= str_replace("祖国","国家",$str);
//输出替换后的字符串
echo $str2;
echo "<br/>";
计算
- strlen()获取字符串长度
$str="我爱我的祖国,我的祖国是中国";
$str2= strlen($str);
echo $str2;
echo "<br/>";
- strpos(string,str)查找字符串str出现的位置
$str="1,2,3,4,5,6,7";
$str2= strpos($str,2);
echo $str2;
echo "<br/>";
- strrpos(string,str)从后面查找str出现的位置
这个方法和上面那一个方法是一样的,区别就是strpos是从前向后查找,而strrpos是从后面向前面查找并返回
时间
- 一般来说要使用时间属性要先配置一下PHP的配置,我用的PHPstudy所以我以此来作为例子说,首现要配置PHP里面的PHP.ini文件找到里面的;date.timezone=这一句话将他改成date.timezone=PRC这个样子,注意分号去掉,后面加上PRC才可使用时间格式,否则会一直报错
- 时间的获取方式也是直接date()就行例如下面这样就可以直接输出时间了,不过是获取的1970-1-1到今天的秒数
echo time();
- 获取秒数肯定不太理想,所以我们需要去格式化一下时间戳,如下例输出的就直接是时间格式
echo date("Y-m-d H:i:s",time());
也可以通过字符串格式化时间戳,下面的例子就是2021-10-20和2021-10-19之间的时间差
$d1=strtotime('2021-10-19');
$d2=strtotime('2021-10-20');
echo $d1,"---",$d2,"<br/>";
echo ($d2-$d1)/3600;
echo "<br/>";
全局数组
$_GET
$_GET是获取前端所有的get请求参数
$_POST
$_POST是获取前端所有的post请求参数
$_REQUEST
$_REQUEST则是获取前端所有的请求,不管前端是get请求还是post请求都可以获取到请求参数
jsonp方法
jsonp方法一共分为两个
1.数组转jsonp的方法是 json_encode()
2.字符串转数组的方法是json_decode()
header方法
- header(“Content-type: application/json”);
返回json格式 - header(“Content-type: text/html; charset=utf-8”);
返回html格式指定编码
session
- session是用来保持用户端和客户端会话的
- session的值存储在服务器
- session是通过cookie来传递给客户端
cookie
- 是存储在客户端的数据,可以设置过期时间
- 服务器或者客户端都可以修改和设置
- 每次http请求都会携带cookie
http响应也会携带cookie
小结
PHP这款语言是挺好的一门语言,不管你是前端还是后端都需要了解一下这门语言,这门语言不仅讲诉了前后端的交互各方面的一些知识,也能够让你了解到前后端交互到底是怎么一回事,是一门非常值得学习的一门语言,我学习的也不算很理解,只能说大概的做了一个PHP大概的一些方法的总结,PHP非常值得学习!!!!