Php
Php全称为:Hypertext Preprocessor(中文名:超文本预处理器);
简称:personal Home page;
开始php之前,要先设置它的文件编码信息
header(‘Content-type:text/html;charset=utf-8’);
Php注释:
单行://
多行:/**/;
php代码要运行在服务器上。
1.为php声明一个变量
php声明变量的时候需要使用$符号;
php的变量在被赋值的时候就被声明,并同时确定了类型;
使用变量可以直接调取其变量名。
双引号里出现变量名,则会把它当做一个变量使用(获取变量值)。
单引号里出现变量名,会将变量名做为一个字符串。
在php里,字符串与字符串的拼接用 . 这个符号来拼接。
php的变量命名规则:
要用$符号,后面紧跟变量名。
只能以数字、字母、下划线构成。
不能以数字开头。
区分大小写。
php的输出:
(1)echo:
echo(‘输出内容’);
echo‘输出内容’,‘多个输出’;
(2)print:
print(‘输出内容’);
print‘输出内内容’;
print 只能输出一个字符串
(3)echo的输出速度要比print的输出速度要快,并且print有一个返回值为1,echo没有返回值。
var_dump();
输出数据的具体信息以及数据。以及类型,数组将递归展开,通过缩进显示其结构。
此函数显示关于一个或者多个表达式的结构信息,包括表达式的类型和值。数组将递归展开值,通过缩进显示其结构。
php的数据类型:
string 字符串
integer 整型
float 浮点
Boolean 布尔
Array 数组
Object 对象
Null 对象
Php获取数据的类型 gettype(数据);
6.php数据类型的转换
在被转换的变量前加(int)整数、(float)浮点、(bool)布尔类型、(array)数组、(object)对象、(string)字符串。
7.php数组
索引数组:
$arr = [0,1,2,3,4];或者$arr = array(‘a’,’b’’c’);
取索引数组的值为 $arr[index(下标)];
关联数组
$arr = array(‘name’ => ‘小明’,‘age’=>18);
关联数组取值为:$arr[‘key’];
在php中 echo 和print 不能输出数组,只有var_dump可以。
8.常量
常量是在代码结构中,值不能被更改的量。
Php中声明常量需要用到define函数
常量的命名规则只能由数字、字母、下划线构成,且不能以数字开头
第三个参数是一个布尔类型的值:true,false;决定是否让该常量名大小写敏感。True,不敏感。 False:敏感。默认为false敏感。
9.流程控制语句
php的流程控制语句,分支和循环。
(1)分支
if( ){}
if(){}else{}
(2)循环
php中获取索引数组的长度,用count函数。
$arr = [‘1’,’2’,’3’]; for($a = 0;$a echo $arr[$a]; }
(3)遍历关联数组
变量php里关联数组的话,需要用到foreach循环
foreach($arr as $key => $value){
$key:$arr 数组中的每个元素的键
$value:$arr数组中每个元素的值
}
(4)
php可以在不同的平台上运行(windows、linux、unix、mac、osx等);
php与目前几乎所有的正在被使用的服务器相兼容(Apache、IIs等);
php提供了广泛的数据库支持
php易于学习,并可高效的运行在服务器端。
10.运算符
(1)算数运算符
算数运算符
* x+y 加
* x-y 减
* x*y 乘
* x/y 除
* x % y取余
* -x取反
* a.b 并置(连接两个字符串)
* 加运算的特殊情况:
* 字符串和数字(int(整型),float(小数))相加直接返回数字的值。
* 字符串和boolean类型相加,返回该布尔值代表的数字值。
* 数字和布尔类型相加,将布尔类型转化为数字,再与其相加。false为0,true为1;
* 字符串与字符串相加,结果为0;
减运算的特殊情况:
字符串与数字做减运算,返回数字与数字前面紧挨的运算符。
字符串与字符相减为0;
字符串与布尔类型做减法,返回的是布尔类型转化为数字的值与布尔类型前面紧挨着的运算符;(0和-0)结果都为0;
乘法的特殊情况:
字符串与任何类型的值做乘法运算结果都为0;
数字与布尔类型相乘 将布尔类型转化为数字再进行相乘。
除法的特殊情况:
字符串和布尔的false不能作为被除数,其次字符串除以数字、布尔(true)类型的数结果都为0;
并置(.),链接两个值:
布尔类型参与并置,将true转化为数字1,再进行并置。false不显示,只显示后面并置。
赋值运算符
$x = y 将y的值赋值给x;
$x+=y 等于$x=x-y;
$x-=y 等于$x=x-y;
$x*=y 等于$x=x*y;
$x/=y 等于$x=x/y;
$x%=y 等于$x=x%y;
$a.=b 等于$a=a.b;
递增、递减运算符
++x x加1,然后返回x
x++ 返回x,然后x加1
--x x减1,然后返回x
x-- 返回x,然后x-1;
比较运算符结构的输出:
如果比较结果为true,echo 输出得到1,false 什么都没有。
如果var_dump输出,输出的是布尔类型的值,输出的是true 和 false;
!= 只比较数值
!== 要比较类型和数值
11.字符串
strlen 返回字符串的长度
str_replace($str1,$str2,$str);替换字符串
将$str中的所有$str1都替换成$str2,并返回一个新的字符串,不会对$str本身有任何变化。
str_split($str,len);将字符串$str转化成索引数组,得到一个返回值,原来的$str本身不会发生变化。
Len:为可选参数,默认值为1,单个字符截取一次,int型的数值,决定截取单个元素的长度。
explode(‘截取字符串’,$strm,length);按照指定字符截取字符串并返回一个索引数组。
将$str按照要截取的字符串截取成一个数组。其中length是一个可选参数(可选参数决定explode函数返回的数组的个数(会影响截取方式 ));
substr($str,$start,$par3)字符串的截取。
$str,要截取的目标字符串。
$start:不管正数还是负数,都代表你 要开始截取的位置(可以为负数,为负数代表从后往前数的位置,要从-1开始,没有0);
$par3为正代表截取长度,为负数代表从后往前数的位置,即截取的结束位置(不包含此位置);
trim()函数从字符串的两端操作字符串。
Ltrim()从字符串的左端开始操作字符串
Rtrim();从字符串的右端开始操作字符串。
字符串转换大小写
strtolower() 将字符串中的大写字母转换成小写字母
strtoupper() 将字符串中的小写字母转换成大写字母
12.php函数
(1)php函数有形参,但是调用函数未传参的话会有错误警告。
当一个函数调用完毕之后,函数内部的局部变量也会被删除,如果代码需要这个变量依旧保存的话,需要使用static关键词。
(2)在php里如果要在函数的内部访问函数外部的全局变量,则需要加上global关键字。
13.前端对于后台的数据传递
前端对于后台有两种数据传递($_post , $GET),针对这两种数据传递,分装两个函数来接收不同的数据(传递方式不同,数据内容则也不同);
超全局变量:
可以根据前端的请求方式的不同,用超全局变量接收数据。
前端from提交设置:
action 为php的文件路径
method :为提交数据的方式
enctype:数据格式。
14.php文件操作
readfile(地址)读取文件并将它输出,返回读取到的文档中的字符串长度。
Readfile(‘fill_cons’.html);
fopen($filepath,$mode);
以指定的方式($mode,参考值见文档)打开路径为filepath的文件
fclose($file);关闭文件
$file:指的是用fopen打开的文件;
fgets($handle,$len);逐行读取文件
$handle:打开文件路径,$len:为读取文件的长度,单位是字节。
//文件操作代码
feof($file);检测是否已经到达文件底部,如果到达就返回true;
完整读取文件如下:
15.写入文件
r+:以读写的方式打开文件,指针指向文件头部。
Fwrite($file,$content);
$file:要进行写操作的文件
$content:要向文件中写入的内容。
A+:
以读写的方式打开文件,指针指向文件末尾,如果文件不存在,则会创建文件。
双引号中的代码会执行,单引号中的代码只代表字符串。
16.ajax
(1)什么是ajax ?
全称Asynchronous Javascript XML (存储和传输数据的一种语言);
动态的局部刷新页面内容的技术。
当页面的在入流关闭之后,ajax为我们提供了额外的数据请求,在不刷新页面的情况下刷新局部数据。
(2)创建ajax;
var ajax;//创建ajax;
if(window.XMLHttpRequest){ //IE7 以上,及市场的主流浏览器 ajax = new XMLHttpRequest( ); }else{ //IE5,IE6 ajax = new ActiveXobject( ); }
(3)异步的get类型的ajax,
ajax.open( ‘GET’,‘new_file.php’ );//open接收三个值。 Ajax.send( ); Ajax.onreadystatechange = function( ){ }
(4)异步的get类型ajax 发送数据
ajax.open(‘GET’,’new_file.php?name=ben&pswd=545454’); ajax.send(); ajax.onreadystatechange = function(){ //ajax.redyState(0~4) ajax.status(200,404); if(ajax.redyState == 4 && ajax.status == 200){ //接收数据,做处理 console.log(ajax.responseText); } }
(5)同步的ajax
ajax.open(‘GET’,’new_file.php?name=ben&pswd=545454’); Ajax.send( ); //接收数据,做处理 console.log( ajax. responseText);
(6) 异步的post
ajax.open(‘POST’,’路径’);//接收三个参数(类型,路径,布尔值)
//设置请求头,要在send请求前。 ajax.setRequestHeader('Content-type','application/x-www-form-urlencoded'); //然后post把要发送给后台的数据传给send函数 ajax.send( ‘数据’); //然后再进行函数判断 ajax.onreadystatechange = function(){ if(ajax.redyState == 4 && ajax.status == 200){ //接收数据,做处理 console.log(ajax.responseText); } }
17.jquer 的ajax请求 //type默认为get
(1)
$.get({ type:“get”, url:”new_file.php”, data:’数据’, data:{ name:’’, pswd:45645646, tel:564654564 }, success:function(res){ //请求成功的函数:res:ajax.responseText; }, error:function(){ //请求失败的函数 } });
18.get用jquery 的简写形式
//第一个为路径,第二个为回调函数 $get(‘路径’,‘数据’,function(red){ console.log(res); })
19.post用juery的简写形式
.//请求的路径,数据,回调函数 var data = { 数据 } $post(‘路径’,data,‘回调函数’){ //代码 }
//注意:
post请求和get请求的区别
- post要比get请求安全。
- get对参数列表的拼接有长度限制(因为游览器对url长度限制)
- post 与 get 都可以单独写出数据,然后发送。格式整齐。