<?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();