1、php简介
PHP超文本预处理器。是嵌入HTML文件中的服务器脚本程序。php
PHP代码标记:<?php …. ?>html
PHP文件的扩展名:.phpmysql
PHP文件的执行:必须从域名开始访问sql
PHP每条语句必须以英文(;)结束数据库
2、php基础语法
①php变量
php变量必须以”$”开头,例如:$name、$age后端
不能以数字开头,最后按照驼峰命名法数组
写在””引号中的变量最好用 { } 括起来,以避免出现末端有字符不解析的状况服务器
②php数据类型
标量数据类型:字符串型、整型、浮点型、布尔型函数
复合数据类型:数组、对象post
特殊数据类型:资源、NULL
(1)整型
取值范围:-21亿~21亿
(2)浮点型(能够包含整数)
取值范围:-1.7E-308~1.7E+308
因为浮点数不能转换成精确的二进制,因此有时在运输时会出现错误,例如:(0.7+0.1)*10==8 结果为false
(3)字符串型(在引号中,解析变量,需在变量后加上符合或者空格)
双引号“”
双引号内解析变量的值
单引号‘’
单引号内解析变量的名,直接在客户端显示$name
长字符串
$Str = <<
……. 填写字符串内容
heredoc; 结尾“heredoc”必须另起一行,分号结束
(4)资源型
对第三方插件等的操做,如调用mysql数据库等,第三方的内容称之为资源
(5)布尔型
只有true或false两种类型值
(6)NULL(空型)
若是变量不存在,返回NULL,空型只有一个值,就是NULL
(7)数组(一组数的集合,经过索引查找元素)
a )数组的分类:
1.索引数组(与js数组基本相同)
数组的下标是从0开始的正整数,这样的数组称为“索引数组”
$arr=array(10,20,30,40);
$arr[0]=10;
2.关联数组
数组的下标是字符串,这样的数组称为“关联数组”
$arr=array(“name”=>”Tabb”,”sex”=>”gender”,”age”=>”22”);
因为关联数组没有整数型下标,因此不适合使用for循环来遍历
3.混合数组
数组下标既有整型,也有字符串,这样的数组称为“混合数组”
$arr = array("name" => "tabb", "age" => "20", "tom", 20);
echo $arr[0] 输出结果为“tom”;说明整型下标是从”tom”开始计算的
b )数组的建立:
1.使用array()函数建立数组:
经过“=>”重载符号给数组元素指定下标
若是数组元素没有指定下标,其下标为,当前最大索引+1,示例:
$arr=array(20=>”tabb”,2=>”28”,20,”tom”) 其中”20”的索引为21,若是都是字符下标,那么没有指定下标的元素,索引从0开始
使用array建立数组:
$arr = array([$key=>]$value,[$key=>]$value,…);
2.使用[ ]中括号建立数组
$arr[“key”]=$value
不像js,能够不用先声明一个空数组,若是指定的数组不存在,会自动建立数组
[ ] 中括号内容为空时,建立数组
$arr[ ]=30;
若是数组不存在,就会建立一个数组,并添加第一个元素
若是数组存在,添加数组的元素的下标,是数组中的最大整形下标+1
c )多维数组:
array(array(1,2,3,4),1,2,3,array(1,2,3,4))
使用[ ]中括号能够快速建立多维数组:
$arr[ ][ ][ ][ ]=10; 快速建立一个4维数组
d )数组相关函数:
1.print_r ( )
打印关于变量的易于理解的信息
若是给出的数组或者对象,按照必定格式显示键和元素
2.unset ( )
删除数组元素,删除的是数组元素的值,下标还存在,不一样于js的长度不变,此处删除元素后,数组长度发生变化
删除变量
3.count ( )
计算数组中的单元数目或对象中的属性个数
4.foreach ( )只能用于遍历数组
foreach( $arr as [$key=>]$value ){ } 若是是索引数组,[$key=>]这个内容能够不要
③php数据类型判断
(1)var_dump()
打印变量的相关信息,能够打印多个变量,用”,”逗号隔开
(2)is_*()一组判断变量类型的方法,返回一个布尔值
is_bool():判断变量是否是布尔型
is_int():判断变量是否是整型
is_float ():判断变量是否是浮点型
is_numeric():判断变量是否是数值型
is_string():判断变量是否是字符串型
is_array():判断变量是否是数组型
is_object():判断变量是否是对象型
is_null():判断变量是否是空型
is_resource():判断变量是否是资源型
……
(3)isset()
检测变量是否设置
返回值:若是变量存在,且不等于NULL,返回true,不然,返回false
(4)empty ( )
检测一个变量是否为空,例如””,0,”0”,null,array(),var $var 以及没有任何属性的对象都将被认为是空,若是为空,返回值TRUE
④数据类型的转换
(1)转换为bool值(bool)
$a = "0";
$result = (bool)$a;
var_dump($result) 结果为: bool(false)
这些数据转换为bool值时为false:0、0.0、””、”0”、array()、null
资源类型转换为bool永远为true
(2)转换为整型数值(int) (int)$name
1.若是以数值开头的字符串,将整型部分转换为整型数值,去除后面的字符
2.若是不是数值开头的字符串,转换为0
3.bool值true转换为1,false转换为0,null转换为0
(3)转换为浮点数值(float) (float)$name
1.若是以数值开头的字符串,将数字部分转换为数值(包含浮点部分),去除后面的字符
2.若是不是数值开头的字符串,转换为0
3.bool值true转换为1,false转换为0,null转换为0
(4)转换为字符串(string) (string)$name
1.null、false转换为””,空字符串
2.true转换为字符串“1”
⑤php运算符
(1)数值运算符(+、-、/、*、%、++、--)
使用方法与js中的使用方法基本相同
(2)字符串运算符
“.”点运算符表示字符串连接符,与js中用”+”号拼接字符串相似
$a=”abc”;
$b=$a.100 或者使用”.=”表示本身与本身连接字符串:$a.=100
(3)赋值运算符(=、+=、-=、*=、/=、%=)与js基本相同
(4)比较运算符(>、=、<=、==、!=、===、!==)与js基本相同
举例:10==“10px” 结果为:true;在包含数字的运算中“10px”会先转换为数值
举例:10===“10px” 结果为:false; 全等比较,包括数据类型
(5)逻辑运算符(&&、||、!)与js基本相同
(6)三元运算符(表达式?结果1:结果2)与js基本相同
(7)运算符优先级
⑥php获取表单数据
用户名:
密码:
//隐藏域,向后端传递信息
(1) 超全局数组变量:$_GET[ ]
获取get方法提交的数据,存放到GET数组中
array(2) { ["username"]=> string(6) "abcdef" ["password"]=> string(5) "12345" }
获取其中的数据示例:$username=$_GET[“name”]
(2) 超全局数组变量:$_POST[ ]
获取post方法提交的数据,存放到POST数组中
⑦php中的条件判断if和switch与js基本相同
switch比if的效率高,主要用于取值判断
⑧php中的循环语句
(1)while(条件判断){ break } 与js基本相同
(2)for(条件判断){ } 与js基本相同
(3)break语句 能够添加break 2表示跳出两层循环
(4)continue语句 跳出本次循环,直接开始下次循环
⑨php中的拷贝传值和引用传地址
(1)拷贝传值
将一个变量的值,“复制”一份,传递给另外一个变量,这两个变量之间没有关系,是相互独立的两个变量,修改其中一个变量,另外一个变量不会变
php中属于拷贝传值的数据类型为:字符型、整型、浮点型、NULL、数组
(2)引用传地址
将一个变量的数据地址,“复制”一份,传递给另外一个变量,这两个变量指向的是“同一标物”,若是这个”标物”发送变化,两个变量都会发送变化。因此修改一个变量的值,则另外一个变量也会发生变化。
php中属于引用传地址的数据类型为:对象、资源
手动声明引用传地址:在引用变量前,加上“&”符号便可,这样可使全部的数据类型实现引用传地址,示例以下
$a=10; $b=&$a; 这样便是把$a的引用地址传地给了$b
⑩php中的函数与js基本相同
示例以下:
function name ($name) { //函数名不能相同,只能惟一存在,且不带$符号
echo “{$name}的年龄是20”;
return;
}
(1)函数的参数能够传递引用地址:
function test ( &$a,$b ){ //此处传递的是$a的引用路径
$arr[ ]=$abc;
}
(2)函数的做用域:
全局变量:在函数外部定义的变量,网页执行完消失
局部变量:在函数内部定义的变量,函数执行完消失
不一样与js,在php中,全局变量不能直接在函数内部使用
在php函数中使用global关键字声明全局变量
使用global关键字,能够将一个变量,声明为全局变量,这里的全局变量不是js中认为的全局变量
global关键字的使用:
global关键字,只能在函数内部使用。
global关键字,不能一边声明全局变量,一边赋值。不能有这样的写法:
global $a=10;
global的真正含义,是“引用传地址”,与js中的全局变量不一样
(3)php日期时间函数:
1. date( );
echo date(“Y-m-d H:i:s”); 输出时间,可改成Y年m月d日
2. time( );时间戳1970年到当前的秒数(js是毫秒)
(4)include语法结构
描述:包含并运行指定文件
语法:include $filename或者include($filename);
示例:include “include/conn.php”;
(5)requrie语法结构
描述:包含并运行指定文件
语法:requrie $filename或者requrie ($filename);
示例:requrie “include/conn.php”;
注意:include与require都是包含并运行文件,可是是有区别的。若是包含的文件不存在,include将报一个警告错误,脚本继续向下运行。而require将报一个致命错误,脚本将当即终止执行。
(6)header()
描述:发送一个自定义的http报文,即:php返回的数据格式或字符集
语法:void header( string $string)
示例:
※ header(“content-type:text/html;charset=utf-8”);
※ header(“location:http:www.baidu.com”); //网页跳转
原文: https://www.cnblogs.com/Tabb/p/7223741.html