zoukankan      html  css  js  c++  java
  • PHP------知识复习

     PHP概述

    (1)PHP(Hypertext  Perprocessor)超级文本预处理器

    (2) PHP是一种在服务器端执行的嵌入HTML文档的脚本语言

    (3) 是一种网站开发语言(B/S结构)

    (4) 支持大多数操作系统和数据库、服务器

    (5) 开源

     

    PHP开发步骤

    (1) 编写源文件

    (2) 将原文件上传到web服务器中

    (3) 使用浏览器访问

     

    一.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()

  • 相关阅读:
    Mootools中的Class应用
    预初始化对象(OnPreInit)
    新博客开张
    ASP.NET获取客户端相关信息
    UpdatePannel中JS不执行问题
    KU990 JVAVA修改全屏
    textbox 增加click事件
    JS引用顺序的问题
    传统三层架构
    ORCALE 相关操作
  • 原文地址:https://www.cnblogs.com/yuyu1993/p/5641756.html
Copyright © 2011-2022 走看看