1.include
和require
的区别
include
会产生警告且脚本还会继续执行,require
则会导致一个致命性错误且脚本停止执行。文件引用方式不同。include()
执行时需要引用的文件每次都进行执行,并且可以有返回值,require()
只是单纯的文件替换,没有返回值require
一般放在php
文件的最前面,程序在执行前会先倒入所需要引用的文件;include
一般放在程序的控制流程中,当程序执行时碰到才会引用,简化程序的执行流程。2.常用关键字
final
:用于声明方法和类,修饰类时,该类不能被继承,修饰方法时,该方法不能被覆盖。
static
:主要用来修饰成员变量以及成员方法,分别为静态变量和静态方法,通过类直接调用。
global
:主要使用于函数内声明变量为全局变量,在函数内部可以使用外部变量。global
声明的变量只是全局变量的一个同名引用,$globals
是全局变量本身。
this
、lf
、parent
:this
是指向当前对象的指针,lf
是指向当前类的指针,parent
是指向当前父类的指针。
trait
:是为php
的单继承语言而准备的一种代码复用机制。trait 为了减少单继承语言的限制,使开发人员能够自由地在不同层次结构内独立的类中复用
interface
:接口是一个成员属性全部为抽象或常量的特殊抽象类,作用是:弥补php单继承,单继承,多实现
(1)定义的方法都是抽象方法,只需要声明,不需要实现
(2)定义的变量全部为常量(const
声明)
implements
:实现接口,可以多实现
abstract
:修饰方法时,只有方法名,没有方法体(abstract function()
);只要声明抽象方法的类就是抽象类;抽象类不能实例化,可以被继承,可以看做子类实现的规范和模板;
3.php7
新特性
(1)添加了函数的形参声明和返回类型声明
默认情况下,所有的php
文件都处于弱类型校验模式。
php7
增加了标量类型声明的特性,标量类型声明两种模式
– 强制模式(默认)
– 严格模式
php7
增加了对返回类型声明的支持,返回类型声明指明了函数返回值的类型;
(2)添加了null
合并运算符(在平面直角坐标系xoy中??
)是用于执行ist()
检测的三元运算
(3)可以使用一个u
从同一个namespace
导入多个类、函数;
(4)改变了大多数错误的报告机制;
4.单引号和双引号
单引号:在单引号字符串中的变量和特殊字符的转义序列不会被替换
双引号:在双引号定义的字符串最重要的特征是变量会被解析
5.echo
、print
、print_r
、var_dump
之间的区别
echo
和print
都是语言结构,只能输出简单类型的值(字符、数字),唯一不同的是echo
支持输出多参数,print
只能输出一个参数print_r
和var_dump
是函数,可用于打印数组和对象,前者只支持一个参数,后者支持多个参数并且显示信息更详细,常用于调试。var_export
输出或返回一个变量的字符串表示,和var_dump
功能类似,但是输出的是合法的php
代码6.post
、get
、put
、delete
基于curd
:
post
=> create
get
=> read
put
=> update
delete
=> delete
7.用php
写出显示客户端ip
和服务器端ip
的代码
echo $_rver['remote_addr']. "<br/>"; //客户端
echo $_rver['rver_addr']. "<br/>"; //服务器端
8.用php打印出前一天的时间,格式例如 2006-5-10 22:21:21
echo '当前时间:'.date('y-m-d h:i:s', time()). "<br/>";
echo '前一天时间:'.date('y-m-d h:i:s', strtotime('-1 day')). "<br/>";
9.写一个函数,能够遍历一个文件夹下的所有文件和子文件夹
//opendir:打开目录句柄//readdir:返回目录句柄中的条目//clodir:关闭目录句柄//mkdir:创建目录//rmdir:删除目录//is_dir:是否是目录function read($dir = ''){ $handle = opendir($dir); if ($handle){ while ($file = readdir($handle)){ if ($file!='.' && $file!='..'){ $fullpath = $dir.'/'.$file; if (is_dir($fullpath)){ echo $fullpath, "<br/>"; read($fullpath); }el{ echo $fullpath, "<br/>"; } } } } clodir($handle);}
10.ist()
和empty()
fal
:当转换为boolean
时,以下值被认为是fal
-布尔值fal本身
-整型值0(零)
-浮点值0.0
-空字符串”,字符串’0’,以及尚未赋值的变量
-不包含任何元素的数组
-特殊类型null
-所有其他值都被任务是true
null
类型的三种情况:
-通过变量赋值明确指定变量的值为null
-一个变量没有给任何值
-保字组词使用函数unt()将变量销毁掉
empty()
:当传入的变量的值为fal
或者null
,为true
,反之为fal
ist()
:当出入的变量为null
时,为true
,反之为fal
11.关于error
在程序开发调试错误的过程中,我们总会遇到各种各样的error
,部分error
会影响到代码的执行,部分则只是给出一个warning
或notice
,不会影响下面代码的继续执行。
@
:错误控制运算符,放在php
表达式之前,该表达式可能产生的任何错误信息都被忽略掉
error_reporting(int $level)
:设置应该报告何种php
错误,设置为0则关闭掉错误报告
12.修改ssion
的生存时间
php.ini
文件中的ssion.gc_maxlifetime
的值进行修改,然后重启,或者代码设置
13. php.ini文件中的safe_mode
safe_mode
:安全模式,提供一个基本安全的共享环境,当safe_mode
打开时,一些访问文件系统的函数功能会被限制,如:mkdir
,touch
,readdir
,opendir
等..
14.如何得到网址http://www.phpres.com/index.html
的内容
echo file_get_contents('https://www.baidu.com');//par_url:解析一个url并返回一个关联数组,包含在url出现的各种组成部分print_r(par_url('http://www.phpres.com/index.html'));
15.取出文件扩展名
$str = 'dir/upload.image.jpg';echo array_pop(explode('.', $str)), "<br/>";echo pathinfo($str, pathinfo_extension), "<br/>";
16.求两个日期的差值 2007-2-5 ~ 2007-3-9
$ints1 = strtotime('2007-3-5');$ints2 = strtotime('2007-3-9');echo ($ints2-$ints1)/(60*60*24), "<br/>";
17.将’open_door’转换成’opendoor’,将’make_by_id’转换成’makebyid’
$str1 = 'open_door';$str2 = 'make_by_id';echo str_replace(' ', '', ucwords(str_replace('_', ' ', $str1))), "<br/>";echo str_replace(' ', '', ucwords(str_replace('_', ' ', $str2))), "<br/>";
18.超全局变量
超全局变量是在全部作用域中始终可用的内置变量。
$globals
:引用全局作用域中可用的全部变量
$_rver
:服务器和执行环境的信息
$_get
:http get
变量
$_post
:http post
变量
$_files
:http
文件上传变量
$_cookie
:http cookies
$_ssion
:ssion
变量
$_request
:http request
变量
$_env
:环境变量
19英文演讲稿开头.常用魔术常量
__line__
:文件中的当前行号
__file_
:文件的完整路径和文件名
__dir__
:文件所在的目录
__function__
:函数名称
__class__
:类的名称
__trait__
:trait
的名字,包括其被声明的作用区域
__method__
:类的方法名
__namespac__
:当前命名空间的名称
20.解析函数、析构函数,常用的魔术方法
__construct
:在类被实例化的时候自动执行;
__destruct
:在对象被销毁的时候自动执行;
__tostring
:在对象被当成字符串使用时自动执行;
__invoke
:在对象被当成函数执行的时执行执行;
__clone
:在克隆对象时自动执行;
数值常用函数
float ceil($num)
:进一取整
float floor($num)
:舍一取整
float round($num, $n)
:四舍五入,可保留n位小数
number pow(number $ba, number $exp)
:幂运算
float sqrt(float $arg)
:平方根
number max($num1, $num2...)
:返回最大值
number min($num1, $num2...)
:返回最小值
int rand($min, $max)
:产生min到max之间的随机数
int mt_rand($min, $max)
:同上,但效率更高
string number_format($number, $n)
:以千分位分隔符方式格式化数字,并保留n位小数
字符串常用环艺是什么专业函数
— 长度
int strlen($var)
:获取字符串或数字的长度(汉字默认utf8格式,长度位3)
int mb_strlen($var)
:获取字符串或数字的长度(汉字长度位1)
— 大小写
string strtolower($str)
:单词小写
string strtoupper($str)
:单词大写
string ucfirst($str)
:首字母大写,其他字母不变
string ucwords($str)
:每个单词首字母大写,其他字母不变
— 替换
string str_replace($arch, $replace, $str)
:将字符串str
里面的rach
部分换位replace
字符串,区分大小写
string str_ireplace($arch, $replace, $str)
:同上,不区分大小写
string htmlspecialchars($str)
:将str里面的字符转换为html
实体,比如将<
改为<
— 去除空格
string ltrim($str)
:删除左边的空格
string rtrim($str)
:删除右边的空格
string trim($str)
:删除两边的空格
— 位置
int strpos($str, $needle)
:返回needle
第一次在str
出现的位置,区分大小写
int stripos($str, $needle)
:同上,不区分大小写
int strrpos($str, $needle)
:返回needle
最后一次在str
出现的位置,区分大小写
int strripos($str, $needle)
:同上,不区分7万韩元大小写
— 截取
string substr($str, $offt, $length)
:字符串截取
— 反转
string strrev($str)
:字符串反转
— 加密
string md5($str)
:md5
加密
— 打乱
string str_shuffle($str)
:随机打乱字符串,可用于产生随机验证码
— 拆散组合
array explode($delimiter, $str)
:将字符串str
按照delimiter
分割成数组
string imploae($glue, $arr)
:将数组arr
按照glue
拼接成字符串
数组常用函数
mixed array_shift(array &$arr)
:将数组第一个元素移除数组并返回。将array
的长度减1并将其他单元向前移动一位。所有数字键名改为从0开始计数
mixed array_unshift(array &$arr, mixed $str)
:在数组的开头插入一个或多个单元。将传入的单元插入到array
数组的开头。
int array_push(array &$arr, mixed $v1...)
:将一个或多个单元压入数组的末尾(入栈),数组长度增加。返回压入后数组的长度
mixed array_pop(array &$array)
:弹出数组的最后一个单元,数组长度减1
mixed array_rand(array $array, $n)
:从数组中随机取出n
个键名
current($arr)
:返回数组中的当前单元的值
key($arr)
:返回数组中的当前单元的键
prev($arr)
:将数组中的内部指针向前移动一位,并返回值
next($arr)
:将数组中的内部指针向后移动一位,并返回值
ret($arr)
:将数组中内部指针指向第一个单元
end($arr)
:将数组中的内部指针指向最后一个单元
array_keys($arr)
:返回数组中所有的键
array_values($arr)
:返回数组中所有的值
array_mpa('function', $arr)
:将用户自定义函数作用到数组中的每个值上,并返回用户自定义函数作用后的带有新值的数组
文件常用函数
int filesize($filename)
:返回文件大小的字节数
int filectime($filename)
:返回文件的创建时间的时间戳
int filemtile($filename)
:返回文件的最后修改时间的时间戳
int fileatime($filename)
:返回文件最后访问时间的时间戳
is_readable($filename)
:是否可读
is_writabel($filename)
:是否可写
is_executable($filename)
:是否可执行
is_file($filename)
:是否是文件
file_exists($filename)
:文件是否存在
array pathinfo($filename, pathinfo_extension)
pahtinfo_dirname
:文件夹名
pathinfo_baname
:文件全称
pathinfo_extension
:文件拓展名
pathinfo_filename
:文件名
bool touch($filename)
:创建文件
bool unlink($filename)
:删除文件
bool rename($oldname, $newname)
:重命名
bool copy($source, $des)
:将source
文件移动到des
string file_get_contents($filename)
:将整个文件读入一个字符串
int file_put_contents($filename, $str)
:将一个字符串写入文件
string rialize($value)
:产生一个可存储的值的表示,成为字符串
mixed unrialize($str)
:从已存储的表示中创建php
的值,成为反序列化
string json_encode($value)
:对变量进行json
编码,返回json
字符串
mixed json_decode($str)
:对json
格式的字符串进行编码,转换成php
变量
日期常用函数
— 时区相关
php.ini文件中的date.timezone
string date($format, int $timestamp)
:格式化一个时间戳 format:y-m-d h:i:s
int time()
:返回当前unix时间戳,即1970年1月1日0时0分0秒到现在的总秒数
float microtime(true)
:返回当前unix
时间戳微秒数
int strtotime(string $time)
:将字符串转换为unix
时间戳
yesterday
昨天00:00:00
-1 day
昨天
-1 month
一个月前
array getdate(int $timestamp)
:可以日期、时间信息
array
(
[conds] => 43 //秒
[minutes] => 50 //分
[hours] => 15 //小时
[mday] => 1 //一个月中的第几天
[wday] => 4 //一周中的第几天
[mon] => 8 //月
[year] => 2019 //年
[yday] => 212 //一年中的第几天
[weekday] => thursday //星期几的名称
[month] => august //月份名称
[0] => 1564667443 //时间戳
)
本文发布于:2023-04-08 10:11:05,感谢您对本站的认可!
本文链接:https://www.wtabcd.cn/fanwen/zuowen/7992f523e0a46f1286139d7e4c767a02.html
版权声明:本站内容均来自互联网,仅供演示用,请勿用于商业和其他非法用途。如果侵犯了您的权益请与我们联系,我们将在24小时内删除。
本文word下载地址:php整理.doc
本文 PDF 下载地址:php整理.pdf
留言与评论(共有 0 条评论) |