php前段时间复习

php
//1.php基础语法
//输出语句  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.函数
//四要素:返回类型、函数名、参数列表、函数体
//在php里面函数的定义方式
function show()//普通
{
}
function show($a)//有返回的
{
}
function show()//有默认的
{
    return $a;
}
function show($a=5)//有默认的
{
}
function show()//参数可变的
{
    func_get_args();
}
//8.常用的函数
//随机数的:rand();   rand(0,10);0~10之间的随机数
//日期时间:time();可以获取当前日期时间戳
//date(格式化字符串,时间戳);格式化日期时间,Y-m-d 年-月-日   H-i-s 时-分-秒 大写H是24小时制小写h是12小时制
//strtotame(表示事件的字符串);将字符串转化为时间戳
//9.其他
//错误抑制符   @
//退出程序: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  任意数字    a不可见得字符  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;
}
//each()和list()方法结合
//each():返回数组里面当前元素的key和value值,返回的是一个数组的形式
//list():将右侧数组的值分别赋给一组变量   list($a,$b)
//指针遍历
    //取当前指针指向的元素的值: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 静态成员是属于类的,普通成员是属于对象的   
//6.抽象类:abstract  抽象类不能被实例化,一般是用作父类
    //接口 interface  可以定义方法  但是不用写函数体
//7.克隆对象:clone
//8.构造函数:__construct()   写法特殊   执行时间特殊
//9.加载类
    include("");
    include "";
    require("");
    require "";
    require_once("");
    require_once "";
//自动加载类__autoload();
//10.单列模式  控制类只能够生成一个对象
//11.工厂模式 
//************************************************************************************************************
//六、数据访问
//1.MYSQLi :  $db = new MySQLi(服务器,用户名,密码,数据库);
//mysqli_connect_error();//判断是否连接成功
//$result = $db->query(sql语句);
//$result->fetch_row();
//2.pdo
//$pdo = new PDO(DNS,用户名,密码);
//$stm = $pdo->prepare(sql语句); 将这个SQL语句放到服务器上等待执行
//$stm->excute();
//$stm->fetch_row();
//在SQL语句中可以使用  ?来进行占位    :字符串占位
//************************************************************************************************************
//七、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}
//8.XML文档  格式:必须有一个根,又开始就必须有结束,大小写敏感,标签名可以自定义,可以加属性

//9.会话控制
//SESSION特点:
//存储在服务器,有默认过期时间,每个用户存一份,可以存储任何类型数据
//必须开启才能使用  session_start();必须写在第一行
//$_SESSION["UID"] ="list";   优点:安全  缺点:占用资源
//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();

原文地址:https://www.cnblogs.com/naqiang/p/5642538.html