PHP常用函数小结

常用函数:

@:是错误控制运算符,通常用来屏蔽错误信息
__FILE__:代表当前网页文件的完整物理路径
__DIR__:代表当前网页文件所在的文件夹
__LINE__:代表当前这个常量名所在的“行号”
__METHOD__:当前所在类的方法名
PHP_INT_MAX:整数最大常量值
round(num):四舍五入。
getType($变量名):获取该变量的类型
setType(变量名,类型)将变量强制转换为目标类型
isset():是否设置了变量值
empty():是否为空
unset():销毁变量
Is_int($x);//是否整数类型
Is_float($x);//是否浮点类型
Is_string($x);//是否字符串
Is_bool($x);//是否布尔类型
Is_null($x);是否为空
Is_array($x);//是否数组
Is_object($x);//是否对象
Is_numeric($x)//是否是一个数字
Is_scalar($x);// 判断是否为标量类型,int float bool string
function_exists(函数名):判断一个函数是否被定义过,返回值为布尔值
func_get_arg($i):返回函数指定的参数
func_get_args():返回函数的参数,数组。
func_num_args():返回函数的参数个数。

画布宽高:

Imagesx(画布)宽
Imagesy(画布)高
字体字符的宽高:
Imagefontwidth(字体)字体字符宽
Imagefontheight(字体)字体字符高

类相关的函数:

class_exists("类名") 判断一个类是否存在
interface_exists("接口名") 判断一个接口是否存在
get_class($obj1) 获得某个对象的所属类
get_parent_class($obj1) 获得某个对象的所属类的父类
Array get_class_methods(类名) 获得一个类的所有的方法,结果是一个数组,里面存储的是这些方法的名称
Array  get_class_vars(类名) 获得一个类的所有属性,结果是一个数组,里面存储的是这些属性的名称
Array get_declared_classes(void) 获得“整个系统”当前页面所定义的所有类名,数组
Bool is_object($var):判断var是否是一个对象,是true,不是false
$obj instanceof A:判断变量obj是否是类A的实例

字符串函数:

输出与格式化:echo,print,printf,print_r,var_dump
字符串去除和填充:返回值都是string,原字符串不会被修改
ereg(pattern,str)
trim(str[,指定字符]):去除字符串首尾指定字符,不指定去除空白字符
Ltrim(str[,指定字符]): 删除字符串开头的空白字符(或其他字符)
Rtrim(str[,指定字符]):删除字符串末端的空白字符(或者其他字符)
str_pad ( string $input , int $pad_length [, string $pad_string = " " [, int $pad_type = STR_PAD_RIGHT ]] ),指定的长度小于或等于字符串,返回原字符串,默认从右侧填充
字符串连接与分隔:
String implode([连接符(默认空字符串),]数组)
join:是implode函数的别名
Array explode(分隔符,字符串):将字符串通过指定符号分隔成数组
Array str_split(字符串[,指定每个数组元素的长度(默认为1)]):通过长度分隔字符串
字符串截取:
String substr(str,startindex[,length]):从指定位置开始截取
String strstr(str,str2):返回str中str2(首次出现)开始到结束字符串
String strrchr(str,str2):返回str中str2最后出现位置到str结束的字符串
字符串替换:
String/array str_replace(被替换字符串/数组元素,替换字符串(原字符串子字符串)/数组元素,原字符串/数组):
String substr_replace(str,replacestr,start[,length]):将str中从start位置开始的length长度字符串用replacestr替换。str_replace(find,replace,string,count)
字符串长度与位置:
Int strlen(str):返回字符串长度
Int strpos(str,str2):返回str2在str中首次出现的位置
Int strrpos(str,str2);返回str2在str中最后一次出现的位置
字符转换:
String Strtolower(str):返回转换后的小写字符串
String Strtoupper(str):返回转后的大写字符串
String lcfirst(str):使第一个字母小写,返回
String ucfirst(str):首字母大写,并返回
String ucwords(str):将字符串中每个单词首字母大写,并返回
特殊字符处理:
String nl2br(str):在str中所有新行之前插入换行标记’<br/>’并返回
String addslashes(str):对str中的单引号,双引号,反斜线与NULL之前加反斜线,并返回
Stripslashes()去出反斜杠
String htmlspecialchars(str):将str中的html标记转换成实体(&npsb等),并返回
String htmlspecialchars_decode(str):与上面的函数对应,将实体转换成普通的字符(< >等)

时间函数:

microtime():返回类型是string,返回的的是秒数加微秒之和
microtime(true):返回类型是float
time():当前时间时间戳,是1970.1.1 00:00:00到当前的秒数,不包括微秒部分
date("Y-m-d H:i:s",时间戳):将时间戳转化为具体的时间,不加参数和time()一致。
sleep(n):停止运行指定秒数。
Int mktime(时,分,秒,月,日,年):返回指定日期的事件戳,从右往左可以逐一省略
Int strtotime(strtime):返回一个时间戳
echo strtotime("now"), "\n";
echo strtotime("10 September 2000"), "\n";
echo strtotime("+1 day"), "\n";
echo strtotime("+1 week"), "\n";
echo strtotime("+1 week 2 days 4 hours 2 seconds"), "\n";
echo strtotime("next Thursday"), "\n";
echo strtotime("last Monday"), "\n";
date_add
date_diff()
bool date_default_timezone_set(时区):设定用于所有日期时间函数的默认时区
string date_default_timezone_get ( ):获取默认时区

数学函数:

Max():返回最大值,参数可以是数组,也可以是多个数值
Min():返回最小值,参数可以是数组,也可以是多个数值
float round(num[,precision]):对num保留指定位数小数.
Float ceil(num);向上取整
Float floor(num):向下取整
Abs(num):返回绝对值
Float sqrt(num):求平方根
pow ( number $base , number $exp ):返回base的exp次方的值
Int rand(int min,int max):返回min(包含)和max(包含)之间一个随机数。不加参数返回0到getrandmax()之间随机数
Int getrandmax():显示随机数最大的可能值
定界符:
Str=<<<”eof”
...
eof;

文件处理函数:

String file_get_contents($filename):将整个文件内容读入一个字符串
Int file_put_contents($filename,$data):将data写入文件,data可以是各种类型,返回值是写入的字节数,失败返回false.
Array file($filename):将文件内容读入数组中,一行为一个元素。
Resoure fopen($filename,打开方式):失败返回false
Bool fclose($resoure):成功返回true,失败返回false
String fread($resoure,$lenth):从文件读取length个字节,失败false
String stream_get_contents($resoure),读取文件全部内容
Int fwrite($resoure,$string):写文件,返回写入的字符,失败返回false
Int filesize($filename):返回文件的大小

目录函数:

Is_dir(file):返回true ,false
Chdir(directory):改变当前的目录
Chroot(directory):改变根目录,windows下不可用
Closedir(dir_handle):关闭目录句柄
Dir(directory):返回directory类的实例,包含handle,path两个属性和read()、rewind()和close()三个方法。
Getcwd():返回当前工作目录,无参数
Opendir(path,context):打开目录句柄
Readir(dir_handle):返回目录句柄中的条目
Rewinddir(dir_handle):重置目录句柄,相当于遍历之后把指针归位reset理解
Scandir(directory[,sorting_order,context]):放回指定目录中的文件和目录的数组
Glob(pattern[,flags]): 返回一个包含有匹配文件 / 目录的数组。如果出错返回 false

文件操作:

文件加载:include、require、include_once、require_once,成功返回1,失败false
include载入文件失败时(即没有找到该文件),抱一个“提示错误”,然后继续执行后续代码;可以配合分支语句使用
require载入文件失败时,报错并立即终止执行。不可配合分支语句使用,一般是在文件一开始就将文件引入。
include载入的文件不判断是否重复,只要有include语句,就会载入一次---即此时可能导致重复载入。
Include_once载入的文件会有内部判断机制,是否“前面的代码”已经载入过,如果载入过,就不再载入。


错误分级:

E_ERROR: 致命错误
E_WARNING: 警告性错误
E_NOTICE: 提示性错误
E_USER_ERROR: 自定义致命错误
E_USER_WARNING: 自定义警告错误
E_USER_NOTICE: 自定义提示错误
涉及到一个函数:Trigger_error("错误提示信息!",3种用户错误代号之一)
显示错误报告(error_reporting)
1. 修改php.ini中做修改error_reporting=E_ALL|E_NOTICE,影响全局所有php页面
2. 在当前页面设置ini_set("error_reporting",错误代号),当前页面
自定义错误处理:set_error_handler(‘f1’);
Function f1($errCode,$errMsg,$errFile,$errLine){}//参数是固定的代号、内容、文件、行号

数组的遍历:

Foreach($数组名 as $key=>$value){}
For($i=0;$i<$len;$i++){current($数组名);next($数组名)}

数组排序函数:

Bool sort(数组名):按值升序最数组排序
Bool Asort(数组名):按值升序保持索引关系
Bool ksort(数组名):按照键名进行升序排序
Bool rsort(数组名):按照值进行降序排序
Bool aarsort(数组名):按照值进行降序排序,并保持索引关系
Bool krsort(数组名)按照键名降序排序
Bool shuffle(数组名)打乱数组

数组指针函数:

$v1=current($数组); //获得数组的当前指针所在单元的“值”
$v2=key($数组); //获得数组当前指针所在单元的“键”(下标)
$v3=next($数组); //先将数组指针移向后一位,然后取得新单元的值
$v4=prev($数组); //先将数组的指针移向前一个单元,然后取得该单元的值。
$v5=end($数组); //先将数组的指针移向最后一个单元,然后取得该单元的值
$v6=reset($数组); //先将数组的指针移向第一个单元,然后取得该单元的值。

单元操作函数:

Mixed array_pop(数组) 出栈长度减一,返回出栈的值
Int array_push(数组,添加的值),添加到末尾(入栈),返回数组的长度
Mixed array_shift(数组)将第一个元素移除,并返回,长度减一
Int array_unshift(数组,添加的值):添加到数组头,返回数组长度
array array_slice ( array $array , int $offset [, int $length = NULL [, bool $preserve_keys = false ]] )
array array_splice ( array &$input , int $offset [, int $length = count($input) [, mixed $replacement = array() ]] ):把 input 数组中由 offset 和 length 指定的单元去掉,如果提供了 replacement 参数,则用其中的单元取代

查找函数:

Bool in_array(查找值,数组):存在返回真,否则返回假
Bool array_key_exists(查找的索引,数组名);查找数组中是否有指定索引
Mixed array(查找值,数组):存在则返回对应的第一个键名,不存在返回false

数组其他函数:

Int Count(数组):计算数组长度
Array array_reverse(数组):返回顺序相反的数组
Array array_merge(数组1,数组2):合并两个数组
Bumber array_sum(数组):对数组中所有值求和
Array array_keys(数组):返回数组中所有的键名
Array array_values(数组):返回数组中所有的值
Array range(start,end[,step]):创建一个数组

工厂模式:根据传递的参数创建相应的类

Class factory{
public static function create($className){
$obj=new $className();
Return $obj;


}
}

单例模式:

Class Single{
Private Static $instance=null;
Private function __contruct(){}//创建私有的构造函数
Private function __clone(){}//禁止克隆
Public static function getInstance(){//创建类
If(!isset(self::$instance))//如果没有生产
{self::$instance=new self();
Return self::$instance;
}
Else{
Return self::$instance;
}
}
}

Php重载:

Php重载不同于其他面向对象的相同名字不同形参方法的多次定义,而是一个对象使用未定义的属或方法时,其中的一些处理机制
属性重载:
__get($prop_name):获取未定义属性值,预先在类中定义个空数组用于存放未定义的属性
__set($p,$v):将未定义的属性保存到属性数组中
__isset($prop_name):通过数组中的索引判断是否有值
方法重载:
__call($method_name,$args[])调用不存在的方法时自动调用这个函数
__callstatic($method_name,$args[]),调用不存在的静态方法时。
接口:
Interface interfaceName{
。。。
}
Class className implements interface1,interface2{
。。。
}
自动加载:当new一个对象时;使用类的静态方法...
系统内部:__autoload()//假如多个类路径不同则找不到使用自定义自动加载
Function __autoload($name)
{
Require_once $name.’.class.php’;
}
自定义自动加载:
spl_autoload_register("func1");//声明“函数1”作为自动加载函数
spl_autoload_register("func2");//声明“函数2”也作为自动加载函数
Function func1($name){
//判断文件存在引入,不存在则不处理
@include_once ‘路径1’.$name.’.class.php’;
}
Function func2($name){//判断文件存在引入,不存在则不处理
@include_once ‘路径2’.$name.’.class.php’;
}

猜你喜欢

转载自blog.csdn.net/benben0729/article/details/81019021
今日推荐