PHP基础语法
所有php代码都要写到<?php ?>当中
变量
> 变量以$开头 字母/数字/下划线 不能以数字开头,大小写敏感。
内容输出
- echo:输出简单数据类型,如字符串、数值
- print_r():
输出复杂数据类型,如数组
如果给出的数组或者对象,按照一定格式显示键和元素
例 Array ( [0] => 1 [1] => 2 [2] => 3 [3] => 4 [4] => 5 )
- var_dump():
输出详细信息,如对象、数组
打印变量的相关信息,可以打印多个变量,用”,”逗号隔开
例 
字符串拼接
- js中字符串拼接用+;php中字符串拼接用 .
单引号与双引号
- 单引号中的变量会当作普通字符串处理
- 双引号中的变量会解析为变量值
运算符
- 与JavaScript基本类似
数据类型
- 字符串
- 整型
- 浮点型
- 布尔型
- 数组
- 对象
- NULL
标量数据类型:字符串型、整型、浮点型、布尔型
复合数据类型:数组、对象
特殊数据类型:资源、NULL
(1)整型
取值范围:-21亿~21亿
(2)浮点型 (可以包含整数)
取值范围:-1.7E-308~1.7E+308
由于浮点数不能转换成精确的二进制,所以有时在运输时会出现错误,例如:(0.7+0.1)*10==8 结果为false
(3)字符串型(在引号中,解析变量,需在变量后加上符合或者空格)
- 双引号“”
双引号内解析变量的值
- 单引号‘’
单引号内解析变量的名,直接在客户端显示$name
- 长字符串
$Str = <<<heredoc “heredoc”的名字可以随意取,按照变量命名规则
……. 填写字符串内容
heredoc; 结尾“heredoc”必须另起一行,分号结束
(4)资源型
对第三方插件等的操作,如调用mysql数据库等,第三方的内容称之为资源
(5)布尔型
只有true或false两种类型值
(6)NULL (空型)
如果变量不存在,返回NULL,空型只有一个值,就是NULL
(7)数组(一组数的集合,通过索引查找元素)
(8) 对象
数组
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”开始计算的
数组的创建:
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
多维数组:
js的二维数组和遍历

php的二维数组


使用[ ]中括号可以快速创建多维数组:
$arr[ ][ ][ ][ ]=10; 快速创建一个4维数组
数组相关函数:
1. print_r ( )
打印关于变量的易于理解的信息
如果给出的数组或者对象,按照一定格式显示键和元素
2. unset ( )
删除数组元素,删除的是数组元素的值,下标还存在
删除变量
例 unset($aa[0]); //里面选择的是对应下标,不一定是数字,也可能是自定下标
3. count ( )
计算数组中的单元数目或对象中的属性个数
echo count($aa);
4. foreach ( ) 只能用于遍历数组
foreach( $arr as [$key=>]$value ){ } 如果是索引数组,[$key=>]这个内容可以不要
$a = array('Tom','Mary','Peter','Jack');
foreach ($a as $key => $value) { echo $key.','.$value."<br/>"; }//
0,Tom
1,Mary
2,Peter
3,Jack
foreach关于二维数组和详细应用看单独分类
json_encode()把数组或者对象转换成字符串

二维数组变成字符串
$abc=array(); $abc["aaa"]=array("username"=>"111","chinese"=>"222"); $abc["bbb"]=array("username"=>"111","chinese"=>"333"); $abc["ccc"]=array("username"=>"111","chinese"=>"444"); $abc["ddd"]=array("username"=>"111","chinese"=>"555"); echo json_encode($abc); //{"aaa":{"username":"111","chinese":"222"},"bbb":{"username":"111","chinese":"333"},"ccc":{"username":"111","chinese":"444"},"ddd":{"username":"111","chinese":"555"}}
预定义变量(表单处理)
php设置输出utf-8
header("Content-Type:text/html;charset=utf-8")
- $_GET
http://localhost/page.php?abc=1
url中这种?请求 一般是get请求
$f=$_GET["abc"];
echo "$f"; //1
一般获取了数据后 会进行一个判断
if($abc==1){ echo "得到数据”; }else{ echo "参数错误" }
一般用get传参,都是数据比较少的,因为url长度有限
- $_POST
form标签 默认请求就是get请求,get请求会把表单数据作为url的参数
post是根据表单的name属性来请求值
<form action="page.php" method="post"> <input type="text" value="用户名" name="username" class="input1"/> <input type="password" name="password" class="input2"/> <input type="submit" value="提交" name="submit" class="input3"/> </form>
<?php header("Content-Type:text/html;charset=utf-8"); $uname=$_POST["username"]; $pw=$_POST["password"]; if($uname =="admin" &&$pw="123456"){ echo "登录成功"; }else{ echo "登录失败"; } ?>
http协议常用请求方式(增删改查)
get 用来从服务器获取数据(参数一般作为查询条件)
post 用来添加数据
put 用来修改数据
delete 用来删除数据
后端接口
接口的作用就是给前台提供一个数据信息
请求流程
如果数据在后台渲染,那后台提供的就是一整个页面。
如果在前台渲染,那后台提供的就是一个接口
如果是个php文件,Apache会交给php解析器

前端和后端
前端工作
页面做好,用css调整布局,添加样式,用js添加动态效果。给后端内容留出空间
后端工作
把前端页面,用编程语言进行填充,把页面和数据库数据整合到一块中就可以放到服务器上提供服务
分支循环
- if/switch
- while
- for
- foreach
函数
<?php $aa= f("a"); echo "$aa"; function f($abc){ return $abc; } ?>
php中也有函数预解析 可以先调用后声明
php中函数名字不区分大小写
个人总结重点
变量$开头 大小写敏感
echo 输出简单类型,字符串、数值等等 print_r()输出复杂类型 如数组 var_dump()输出详细信息 如对象,数组
字符串拼接用 . 混合数组 $arr=array("name"=>"rw","age"="18","tom",20); $arr[0] 输出tom,整数型下标从tom开始计算
数组相关函数 unset()删除数组元素 count()计算数组中单元数目,foreach()遍历数组
foreach 遍历二维数组


浙公网安备 33010602011771号