分享

php、json

 印度阿三17 2020-02-05

php

php可以识别标签
变量前面要加$(函数名不用)

function fn($num){
    for($i=2;$i<$num;$i  ){
        .....
    }
}
  • 动态网页(数据可变)
    • php文件中可以嵌套html标签,可以通过将php中的变量echo输出传递给html标签,实现动态网页
      (用到php的地方都要加上<?php ?>))
    • 浏览器不能识别.php等(动态)文件,通过服务器可以识别.php等文件然后翻译给浏览器执行,html.txt等不是动态文件,服务器不能翻译
  1. 边界符 <?php ?>
  2. php所有文件和目录都不以本地文件形式打开
  3. php是一个弱类型的脚本语言,用于web后端开发
  4. php必须运行在服务器环境下(apache等)
  5. 所有的文件和目录都不能出现中文(包括中文字符)

php语法规范

  1. php代码必须以分号结束
  2. 设置字符集
    header('content-type:text/html;charset=utf-8')
    
  3. 输出语句
    • echo “”;
  4. 查询变量类型
    • var_dump($变量)
  5. 字符连接符 .
    • php的变量名以$开头 采用驼峰命名法 直接赋值
  6. 引入其他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
    1. 添加新的键值对
      • array_push($arr,“123”)
        • 只能操作索引数组,不能操作关联数组
      • array_merge()
        • 可以操作关联数组
        • array_merge($arr,array(‘add’=>‘杭州’))
    2. 遍历数组
      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是一种中立与语言和平台的轻量级数据交换格式
要求内层双引号外层单引号

  • 前端:

    1. 将数组/对象转为JSON字符串
    var str=JSON.stringify(obj)
    // 低版本ie不兼容(引入json文件解决)
    
    1. 将JSON字符串转为对象/数组
    var obj=JSON.parse(str)
    // 低版本ie不兼容(引入json文件解决)
    
  • 后端(以php为例)

    1. 将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 )   关联数组
    
    1. 将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接收前端数据

  1. 接收GET数据
    username=username=username=_GET[‘uname’]
  2. 接收POST数据
    username=username=username=_POST[‘uname’]
  3. 可以接收GET和POST数据
    username=username=username=_REQUSET[‘uname’]

GET和POST的区别

  1. POST相对安全
  2. GET传输速度比POST快(POST数据在请求头中,GET数据在地址栏发送)
  3. GET可传输的数据量比POST小

当用户在地址栏输入地址,用户看到页面,过程中发什么什么?

  • TCP三次握手四次挥手
zvapour 发布了19 篇原创文章 · 获赞 0 · 访问量 99 私信 关注 来源:https://www./content-1-632101.html

    本站是提供个人知识管理的网络存储空间,所有内容均由用户发布,不代表本站观点。请注意甄别内容中的联系方式、诱导购买等信息,谨防诈骗。如发现有害或侵权内容,请点击一键举报。
    转藏 分享 献花(0

    0条评论

    发表

    请遵守用户 评论公约

    类似文章 更多