PHP总结

房东的猫 提交于 2020-02-09 17:35:39
一.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()

 

易学教程内所有资源均来自网络或用户发布的内容,如有违反法律规定的内容欢迎反馈
该文章没有解决你所遇到的问题?点击提问,说说你的问题,让更多的人一起探讨吧!