<?php

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

php 复习的更多相关文章

  1. iOS总结_UI层自我复习总结

    UI层复习笔记 在main文件中,UIApplicationMain函数一共做了三件事 根据第三个参数创建了一个应用程序对象 默认写nil,即创建的是UIApplication类型的对象,此对象看成是 ...

  2. vuex复习方案

    这次复习vuex,发现官方vuex2.0的文档写得太简略了,有些看不懂了.然后看了看1.0的文档,感觉很不错.那以后需要复习的话,还是先看1.0的文档吧.

  3. 我的操作系统复习——I/O控制和系统调用

    上篇博客介绍了存储器管理的相关知识——我的操作系统复习——存储器管理,本篇讲设备管理中的I/O控制方式和操作系统中的系统调用. 一.I/O控制方式 I/O就是输入输出,I/O设备指的是输入输出设备和存 ...

  4. 复习(1)【Maven】

    终于开始复习旧知识了,有输入必然要有输出.输入和输出之间的内化过程尤为重要,在复习的同时,真正把学到的东西积淀下来,加深理解. Maven项目概念与配置 Maven是一个项目管理和综合工具.Maven ...

  5. 《CSS权威指南》基础复习+查漏补缺

    前几天被朋友问到几个CSS问题,讲道理么,接触CSS是从大一开始的,也算有3年半了,总是觉得自己对css算是熟悉的了.然而还是被几个问题弄的"一脸懵逼"... 然后又是刚入职新公司 ...

  6. JS复习--更新结束

    js复习-01---03 一 JS简介 1,文档对象模型 2,浏览器对象模型 二 在HTML中使用JS 1,在html中使用<script></script>标签 2,引入外部 ...

  7. jQuery 复习

    jQuery 复习 基础知识 1, window.onload $(function(){});   $(document).ready(function(){}); 只执行函数体重的最后一个方法,事 ...

  8. jQuery5~7章笔记 和 1~3章的复习笔记

    JQery-05 对表单和表格的操作及其的应用 JQery-06 jQuery和ajax的应用 JQery-07 jQuery插件的使用和写法 JQery-01-03 复习 之前手写的笔记.实在懒得再 ...

  9. HTML和CSS的复习总结

    HTML(Hypertext Markup Language)超文本标记语言:其核心就是各种标记!<html> HTML页面中的所有内容,都在该标签之内:它主要含<head>和 ...

  10. 2017年1月1日 java学习第二天复习

    今天是新年的第一天,以前学习没有总结习惯,学习效率和成果都很不好.  学习的过程就是反复的复习和不断学习的过程,开始今天的学习总结   学习java的第二天. 今天学习了java最基础的一些内容,照着 ...

随机推荐

  1. Android开发学习笔记--一个有界面A+B的计算器

    做了一个A+B的APP,虽然很简单,但是作为初学者还是弄了几个小时才弄好,什么东西都要看书或者百度,但最后成功了,还是很开心的,收货蛮大的.现在把过程写一下: 首先给出效果图: 一开始布局一直有问题, ...

  2. 解决Eclipse中文乱码

    http://hsj69106.blog.51cto.com/1017401/595598 使用Eclipse编辑文件经常出现中文乱码或者文件中有中文不能保存的问题,Eclipse提供了灵活的设置文件 ...

  3. 剑指Offer 二进制中1的个数

    题目描述 输入一个整数,输出该数二进制表示中1的个数.其中负数用补码表示.   思路: 如果一个整数不为0,那么这个整数至少有一位是1.如果我们把这个整数减1,那么原来处在整数最右边的1就会变为0,原 ...

  4. linux kernel 平台总线实例分析

    linux 平台总线的实现有三大块  , platform bus , platform device , platform drvice 平台类型结构体: /** * struct bus_type ...

  5. BZOJ 3942: [Usaco2015 Feb]Censoring

    Description 有两个字符串,每次用一个中取出下一位,放在一个字符串中,如果当前字符串的后缀是另一个字符串就删除. Sol KMP+栈. 用一个栈来维护新加的字符串就可以了.. 一开始我非常的 ...

  6. django 的模板语言

    1.模版的执行 模版的创建过程,对于模版,其实就是读取模版(其中嵌套着模版标签),然后将 Model 中获取的数据插入到模版中,最后将信息返回给用户. def current_datetime(req ...

  7. .Net Framework 3.5, 3.5 sp1 中文版离线安装

    安装.Net Framework 3.5和3.5 sp1时会自动下载语言包. 解决办法:下载语言包,将语言包拷贝到安装里. 1.用压缩工具解压.NetFramework3.5 2.将语言包文件拷贝到c ...

  8. VS中计算程序运行时间

    VS中计算程序运行的时间   http://bbs.csdn.net/topics/39068881 有时候在设计程序完了之后需要计算程序运行的时间. 这时候可以使用Windows的库函数 GetIi ...

  9. centos7时间同步和时区设置

    centos7时间同步和时区设置 安装ntp服务的软件包 sudo yum install ntp 将ntp服务设置为缺省启动 systemctl enable ntpd 修改启动参数,增加-g -x ...

  10. centos 7 python2.7.5升级到3.5.2

    centos 7 python2.7.5升级到3.5.2 下载python3.5.2 wget https://www.python.org/ftp/python/3.5.2/Python-3.5.2 ...