php
php可以识别标签
变量前面要加$(函数名不用)
function fn($num){
for($i=2;$i<$num;$i++){
.....
}
}
- 动态网页(数据可变)
- php文件中可以嵌套html标签,可以通过将php中的变量echo输出传递给html标签,实现动态网页
(用到php的地方都要加上<?php ?>)) - 浏览器不能识别.php等(动态)文件,通过服务器可以识别.php等文件然后翻译给浏览器执行,html.txt等不是动态文件,服务器不能翻译
- php文件中可以嵌套html标签,可以通过将php中的变量echo输出传递给html标签,实现动态网页
- 边界符 <?php ?>
- php所有文件和目录都不以本地文件形式打开
- php是一个弱类型的脚本语言,用于web后端开发
- php必须运行在服务器环境下(apache等)
- 所有的文件和目录都不能出现中文(包括中文字符)
php语法规范
- php代码必须以分号结束
- 设置字符集
header('content-type:text/html;charset=utf-8')
- 输出语句
- echo “”;
- 查询变量类型
- var_dump($变量)
- 字符连接符 .
- php的变量名以$开头 采用驼峰命名法 直接赋值
- 引入其他php文件 include(‘路径’)
php数组
索引数组
```js
//定义数组
$arr=array(1,2,3,4,5)
//获取
$arr[0]
//输出
// 数组不能用echo输出!
print_r($arr)
var_dump($arr)
//获得索引数组的长度
count($arr)
```
```php
//遍历数组
for($i=0;$i<count;$i++){
echo '<br>'.$arr[$i] //字符连接符 .
echo "<br>$arr[$i]"
//php的字符串,双引号内可以识别变量,单引号不行!!
}
//相关函数
foreach($arr as $value){
echo $value //值
}
//可以用于关联数组和索引数组
```
关联数组
- 使用key作为数组的标识符
$arr=array('username'=>'zhangsan','age'=>20)
- api
- 添加新的键值对
- array_push($arr,“123”)
- 只能操作索引数组,不能操作关联数组
- array_merge()
- 可以操作关联数组
- array_merge($arr,array(‘add’=>‘杭州’))
- array_push($arr,“123”)
- 遍历数组
var $newArr=array_map(function($value){ // 这里只能传一个参数 return $value*2 },$arr) // $arr是遍历的对昂
- 添加新的键值对
php对象
php对象必须通过->访问
$str = '{"username":"zhangsan","age":"20","add":"hangzhou"}';
$obj=JSON.decode($str)
echo $obj->username
JSON
JSON是一种中立与语言和平台的轻量级数据交换格式
要求内层双引号外层单引号
-
前端:
- 将数组/对象转为JSON字符串
var str=JSON.stringify(obj) // 低版本ie不兼容(引入json文件解决)
- 将JSON字符串转为对象/数组
var obj=JSON.parse(str) // 低版本ie不兼容(引入json文件解决)
-
后端(以php为例)
- 将JSON字符串转为对象
$obj=json_decode($str[,true]) //传入true,可以将其转为(关联)数组 //json_decode()的内容必须是$str='{"name":"zhangsan","sex":"nan"}';格式!!
$str = '{"username":"zhangsan","age":"20","add":"hangzhou"}'; $obj=json_decode($str) //stdClass Object ( [username] => zhangsan [age] => 20 [add] => hangzhou ) 对象 $obj=json_decode($str,true) //Array ( [username] => zhangsan [age] => 20 [add] => hangzhou ) 关联数组
- 将JSON对象/数组(索引数组和关联数组)转为JSON字符串
$json=json_encode($arr) // 都会转成 '{"zhangsan":"ren","sex":"nan"}'格式
- 注意:由于javascript不支持关联数组,所以json_encode()只将索引数组转为数组格式,而将关联数组转为对象格式
$arr = array( 'username'=>'zhangsan', 'age'=>'20', 'add'=>'hangzhou' ); $json = json_encode($arr); //{"username":"zhangsan","age":"20","add":"hangzhou"}
php接收前端数据
- 接收GET数据
_GET[‘uname’] - 接收POST数据
_POST[‘uname’] - 可以接收GET和POST数据
_REQUSET[‘uname’]
GET和POST的区别
- POST相对安全
- GET传输速度比POST快(POST数据在请求头中,GET数据在地址栏发送)
- GET可传输的数据量比POST小
当用户在地址栏输入地址,用户看到页面,过程中发什么什么?
- TCP三次握手四次挥手