• PHP总结


    一.php基础语法
    1.输出语句:echo print print_r var_dump()
     
    2.php是弱类型语言
    强制转换类型: (类型)变量  settype(变量,类型)
     
    3.变量定义
    $a = 5;
    可变变量:$b="a"; $$b =10;
    判断变量类型  gettype(变量);获取变量类型  is_类型()  is_int();判断变量是否是该类型
    判断变量是否为空:empty() isset();
    删除变量:unset();
     
    4.字符串的定义方式
    $str = "hello"; 可以解析变量 解析转义字符
    $str = 'hello'; 不能解析
    $str = <<<A
    hello
    A; 不用担心单引号和双引号的问题
     
    5.运算符与表达式
     
    6.语句
    分支:if   switch...case
    循环:for  foreach  while  do...while
     
    7.函数
    四要素:返回类型,函数名,参数列表,函数体
    函数的定义方式:
    function Show() 普通的{
    }
    function Show($a) 有参数的{
    }
    function Show() 有返回的{
        return $a;
    }
    function Show($a=5) 有默认值的{
    }
    function Show() 参数可变的{
        func_get_args();
    }
     
    8.常用的函数
    随机数的:rand(); rand(0,10);
    日期时间:time(); 可以获取当前日期时间戳
    date(格式化字符串,时间戳); 格式化日期时间的 Y年份 m月份 d天 H24小制的小时 h12小时制的小时  i分钟  s秒
    strtotime(表示时间字符串); 将字符串转化为时间戳
     
    9.其它
    错误抑制符 @
    退出程序:exit(); exit; die("错误信息");
     
    二:字符串的常用方法
    1.取字符串长度:strlen();
    2.拆分字符串:explode();
    3.合并字符串:implode();
    4.截取字符串:substr();
    5.替换字符串:str_replace(); 查找替换 substr_replace(); 指定位置替换
    6.去空格:trim();
    7.转大写:strtoupper();
    8.转小写:strtolower();
    9.根据长度拆分:str_split();
     
    三:正则表达式
    1.定界符:/  /
    2.匹配开头:^  匹配结束 $
    3.d 数字  s 不可见字符  w任意数字或单词字符  +前面的表达式至少出现一次
    {0,2}前面的表达式至少出现0次最多出现2次 [0,1,2]匹配里面的任意字符  [0-9] 匹配0-9之间的数字 [a-z]匹配a-z之间的单词字符 ()优先级  |或
     
    4.拆分字符串:preg_split();
    5.替换字符串:preg_replace();
    6.匹配字符串中出现的(满足正则)数据:preg_match()  preg_match_all()
     
    四:数组
    1.数组分类:
    根据维度分:一维数组,多数组。
    根据索引分:索引数组,关联数组。
     
    2.数组定义:
    $attr = array(); 常见定义方式
    $attr[] = 5;  赋值定义
     
    定义索引数组:$attr = array(1,2,3,4);
    定义关联数组:$attr = array("key"=>"value");
     
    3.索引数组取值:$attr[0];
      关联数组取值:$attr["key"];
     
    4.遍历数组:
    for循环,只能遍历索引数组
    for($i=0;$i<count($attr);$i++){
        $attr[$i];
    }
    foreach遍历,可以遍历索引和关联数组
    foreach($attr as $v){
        $v;
    }
    foreach($attr as $k=>$v){
        $v;
    }
     
    each()和list()方法结合
    each():返回数组里面当前元素的key和value值,返回的是一个数组的形式
    list():将右侧数组的值分别赋给一组变量  list($a,$b) = $attr;
     
    指针遍历
    取当前指针指向的元素的值:current();
    取当前指针指向的元素的key:key();
    将指针指向下一个元素:next();
    将指针指向上一个元素:prev();
    重置指针:reset();
    将指针指向最后一个元素:end();
     
    5.数组的常用函数
    取数组长度:count();
    向数组添加元素:array_push();
    判断数组里面是否包含某个元素:in_array();
    合并数组:array_merge();
    去重复:array_unique();
    删除数组元素:unset();
    重新索引:array_values();
    翻转数组:array_reverse();
    数组元素排序:array_multisort();
     
     
    五:面向对象 OOP
     
    1.类和对象  类是由众多对象抽象出来的  对象是类实例化出来的
     
    2.类的定义 class Ren { }
      成员变量   成员方法  构造函数  析构函数  __get()  __set()  __tostring()
      __clone()  
     
    3.访问修饰符: public 共有的  private 私有的  protected 受保护的
     
    4.三大特性
      封装:目的  做法  
      继承:概念  特点   函数重写
      多态:概念  条件
     
    5.静态 static 静态成员是属于类的,普通成员是属于对象的  Ren::Show();
     
    6.抽象类:abstract 不能被实例化  用作父类
      接口:interface 
     
    7.克隆对象 clone 
     
    8.构造函数 __construct()
      写法特殊  执行时间特殊
     
    9.加载类
        include("");
        include "";
        require("");
        require "";
        require_once("");
        require_once "";
        自动加载类 __autoload()
     
    10.单列模式
     
    11.工厂模式
     
    六:数据访问
     
    1.myqli
    $db = new mysqli(服务器,用户名,密码,数据库);
    mysqli_connect_error();
    $result = $db->query(SQL语句);
    $result->fetch_row();
    2.pdo
    $pdo = new PDO(DNS,用户名,密码);
    $stm = $pdo->prepare(SQL语句);
    $stm->excute();
    $stm->fetch_row();
     
    ?占位  :字符串 
     
    七:Jquery Ajax
     
    1.选择器  $()
    根据id选 $("#id") 返回一个jquery对象 从jquery对象里面取DOM对象 取索引0[0]
    根据class选 $(".class")
    根据属性选 $("[name=a]")
    根据标签名选 $("div")
     
    2.操作内容
    操作非表单元素
        文本 text();
        html代码 html();
    操作表单元素:
        val();
     
    3.操作属性
    添加设置属性 attr(属性名,属性值);
    获取属性 attr(属性名);
    移除属性 removeAttr(属性名);
     
    4.操作样式
    获取样式 css(样式名); 
    添加设置样式 css(样式名,样式值);
     
    5.事件
    $("#id").事件名(function(){})
    $("#id").bind(事件名,function(){}); 绑定事件
    $("#id").unbind(事件名); 移除事件
     
    6.Ajax
    async:异步
    url:调用的处理页面
    data:传递的数据JSON格式
    type:数据传递的方式 POST或GET
    dataType:返回数据类型 TEXT JSON XML
    success:回调函数 
    error:当调用出错执行的方法
     
    7.JSON
      {key:value}
      XML
      必须有一个根
      有开始就要有结束
      大小写敏感
      标签名可以自定义
      可以加属性
     
    八.会话控制
      SESSION
      存储在服务器 有默认过期时间 每个用户存一份 可以存储任何类型数据
      必须开启才能使用 session_start(); 必须写在第一行
      $_SESSION["uid"] = "lisi";
      安全,占资源
      COOKIE
      存储在客户端 默认是没有过期时间 每个用户存一份 只能存储字符串
      setcookie(名,值); 设置cookie
      $_COOKIE["uid"]; 读取cookie
      不安全,不占资源
     
    九:文件
     
      1.文件上传
      做文件上传表单 enctype 
      $_FILES数组取文件信息
      控制上传格式和大小
      造存储路径(处理文件名) 改文件名  建文件夹
      判断文件是否存在
      上传保存 move_uploaded_file();
      转编码格式 iconv(原编码,目标编码,字符串);
     
      2.文件操作
      文件类型: filetype()  is_file()  is_dir()
      路径: ./  ../  /
      遍历目录: glob();  目录资源
      新建目录:mkdir();
      删除目录:rmdir();
      移动目录:rename();
     
      新建文件:touch();
      删除文件:unlink();
      复制文件:copy();
     
      获取文件内容:file_get_contents();
      写入内容:file_put_contents();
     
      文件资源
      打开文件资源:fopen();
      关闭文件资源:fclose();
      读取文件内容:fgetc()  fgets() fread() fwrite()
  • 相关阅读:
    51nod1331 狭窄的通道
    noip2016 提高组
    noip2016 普及组
    noip车站分级 拓扑排序
    【NOIP1999】邮票面值设计 dfs+dp
    视频智能分析平台EasyCVR衍生版视频管理平台网页导航栏activeNav的背景照片异常的处理方式
    TSINGSEE青犀视频智能分析平台EasyCVR中性版本如何自定义平台内信息的变更?
    人脸识别/车牌识别视频智能分析系统EasyCVR通过接口GetApiV1Devices调用获取设备信息不成功原因分析
    超低延迟直播系统Webrtc编译android报错The installation of the Chrome OS default fonts failed问题
    超低延时安防直播系统webrtc-client测试推送多路视频流关闭其中一路后所有推流都关闭问题解决
  • 原文地址:https://www.cnblogs.com/yongjiapei/p/5641523.html
Copyright © 2020-2023  润新知