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();
o0孤独夜莺0o