php 复习

对所学知识的依次基础的总结

<?php一.php基础语法
1.输出语句:**echo(可以输出多个字符串); print(输出一个字符串); print_r(输出数组); **var_dump()(具体 的数据 还有它的类型);2.php是弱类型语言(不太常用)
强制转换类型: 1)(类型)变量  2)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...while7.函数
四要素:返回类型,函数名,参数列表,函数体
函数的定义方式:
function Show() 普通的 ---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();五:面向对象 OOP1.类和对象  类是由众多对象抽象出来的  对象是类实例化出来的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 Ajax1.选择器  $()
根据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()

 

转载于:https://www.cnblogs.com/koker/p/5642168.html

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.mzph.cn/news/271446.shtml

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

mac新建文件夹快捷键

mac新建文件夹快捷键 COMMAND SHIFT N

python382怎么用_用python做UDP连接

写个客户端 #!/usr/bin/env python from socket import * HOST 10.2.167.115 PORT 20001 BUFSIZE 1024 ADDR (HOST, PORT) udpClientSock socket(AF_INET, SOCK_DGRAM) while True: data raw_input(Enter the message you want to send >) if not data: break udpClie…

更新系统后魔兽世界无法连接至服务器,《魔兽世界:熊猫人之谜》5.0launcher更新无法连接服务器解决方法...

早上launcher一半的时候&#xff0c;出现无法链接服务器&#xff0c;并且自动关闭。测试多种办法&#xff0c;已经解决。1、打开目录x:/world of warcraft/temp2、运行目录下&#xff1a;wow-4.3-5.0.15890-zhcn-downloader.exe (一个英文下载器)3、报错could not connect to t…

电脑维修知识:电脑常见故障维修大全及解决方法

电脑已经成为我们学习生活娱乐必不可少的设备了&#xff0c;用得时间久了难免会遇到小故障&#xff0c;今天我们一起来看下遇到常见的电脑方面的小故障&#xff0c;我们应该如何去自己检测和维修吧。电脑检测故障我们还是要从电脑的几大硬件开始检查起。1、CPU打开机箱查看CPU风…

工程图样中粗实线的用途_图纸天天画,粗实线和细实线的线宽比例是多少?2:1还是3:1?...

点击上方头条号“机械设计一点通”关注我们&#xff0c;每天学习一个机械设计相关知识点我们知道&#xff1a;机械制图中为了表示不同内容&#xff0c;并能分清主次&#xff0c;必须使用不同线型。图线的线型由线宽和线素长度等构成&#xff0c;机械制图中各种线型都有相应宽度…

STM32F4_USART配置及细节描述

Ⅰ、概述 关于USART串口通信&#xff0c;可以说是MCU的标配。不管是在实际项目应用中&#xff0c;还是在开发过程中&#xff0c;它都起着很重要的作用。 在项目应用中我们常常使用UART串口进行通信&#xff0c;根据通信的距离及稳定性&#xff0c;还选择添加RS232、RS485等对UA…

腾讯面试:SaaS多租户,如何设计?

尼恩说在前面 在40岁老架构师 尼恩的读者交流群(50)中&#xff0c;最近有小伙伴拿到了一线互联网企业网易、美团、字节、如阿里、滴滴、极兔、有赞、希音、百度、美团的面试资格&#xff0c;遇到很多很重要的面试题&#xff1a; 多租户设计&#xff0c;如何 技术选型&#xff…

Mac中Finder是什么?怎么打开?

很多人都知道windows系统中的资源管理器&#xff0c;不过不知道什么是finder。finder和资源管理器一样&#xff0c;都是用来管理文件&#xff0c;finder存在于mac统中&#xff0c;那么finder有什么作用呢?下面下班就为大家分享关于mac系统中finder的相关内容。   1、怎么打开…

phpstudy页面不存在_网站的404页面对于SEO的重要作用

随着网站建设的需求和要求越来越多&#xff0c;网站的新形式也逐渐成为人们改版的方向&#xff0c;但是在网站的改版中难免会出现一些小差错&#xff0c;导致网站的运行不顺畅&#xff0c;这很有可能就是网站建设中忘记设计404页面&#xff0c;那么4040页面能给网站带来哪些好处…

ajax类型的区别,ajax请求的类型 有post get 请问两种有何区别?

1、 get是把参数数据队列加到提交表单的ACTION属性所指的URL中&#xff0c;值和表单内各个字段一一对应&#xff0c;在URL中可以看到。post是通过HTTP post机制&#xff0c;将表单内各个字段与其内容放置在HTML HEADER内一起传送到ACTION属性所指的URL地址。用户看不到这个过程…

计算机系统基础:虚拟存储管理知识笔记

1、虚拟存储管理概念 一个计算机任务只需要部分装入主存便可以启动运行&#xff0c;其余部分留在磁盘上&#xff0c;在需要的时候装入主存&#xff0c;这样可以提高主存空间的利用率。这样该系统所具有的主存容量会比实际主存容量大很多&#xff0c;这样的存储器称为虚拟存储器…

lamba把逗号拼接的字符串转为list

List<Long> detailIds Arrays.stream(settlementDetailIds.split(",")).map(s -> Long.parseLong(s.trim())).collect(Collectors.toList());

git推送指令配置_git 常用命令

git 简介在实际开发中&#xff0c;会使用git作为版本控制工具来完成团队协作。因此&#xff0c;对基本的git操作指令进行总结是十分有必要的&#xff0c;本文对一些术语或者理论基础&#xff0c;不重新码字&#xff0c;可以参考廖雪峰老师的博文&#xff0c;本文只对命令做归纳…

Ubuntu 配置swftools(Ubuntu14.04)

1.下载文件 wget http://swftools.org/swftools-0.9.0.tar.gz tar -zvxf swftools-0.9.0.tar.gz wget http://www.ijg.org/files/jpegsrc.v7.tar.gz tar -zvxf jpegsrc.v7.tar.gz wget http://download.savannah.gnu.org/releases-noredirect/freetype/freetype-2.3.12.tar.gz …

传统的线性降维方法效果不佳。_机器学习西瓜书简明笔记(11)降维与度量学习...

上篇主要介绍了几种常用的聚类算法&#xff0c;首先从距离度量与性能评估出发&#xff0c;列举了常见的距离计算公式与聚类评价指标&#xff0c;接着分别讨论了K-Means、LVQ、高斯混合聚类、密度聚类以及层次聚类算法。K-Means与LVQ都试图以类簇中心作为原型指导聚类&#xff0…

计算机系统基础:设备管理知识笔记

1、设备管理介绍 设备管理主要包括设备分配、缓冲区管理、实际物理I/O设备操作、通过管理提高设备利用率和方便用户使用的目的。 设备属于计算机系统和外界交互的工具&#xff0c;不要负责计算机和外部的输入/输出工作&#xff0c;通常称为外设。 2、设备分类 2.1 按数据组织分…

灌篮高手微信登录是什么服务器,灌篮高手微信登录版本

这款《灌篮高手》手游游戏是由同名的火爆动漫改写而成的&#xff0c;里边的游戏角色都是有极致的复原和保存&#xff0c;足球运动员特点都是有一定的展现。也有经典的动漫故事情节和每个高等院校足球队的复原。现阶段为大伙儿出示的是灌篮高手微信登录版本&#xff0c;能够和小…

写代码时注意的几点

一.规范性 书写清晰布局清晰命名合理命名尽量使用有意义的单词; 变量常用i,j,k命名&#xff1b; 函数常用f,h,g命名。 二.完整性 完成基本功能考虑边界条件 做好错误处理对应的考虑好三个测试 功能性测试 边界测试 容错测试 三.鲁棒性 采取防御式编程 处理无效的输入 转载于:…

华为发布岳云鹏手机_刚刚,华为发布鸿蒙2.0!手机可用!

不凡的2020年激动人心的时刻终于到来今天下午3时华为开发者大会2020在正式开幕鸿蒙2.0发布&#xff01;本次大会包含主题演讲、技术论坛、松湖对话、Codelabs、Teach.Hour、互动体验等系列环节&#xff0c;大会将持续3天&#xff0c;众多活动也将于线上同步直播。技术论坛环节在…

Mac下安装jdk8

直接点击dmg文件 安装成功 在终端输入 Java -vesion 提供百度云链接方便大家下载 链接: https://pan.baidu.com/s/1n2SY-61KFb6-c1UcshZt1Q 链接: https://pan.baidu.com/s/1n2SY-61KFb6-c1UcshZt1Q 密码: g0mj