PHP常用内置函数

739 阅读2分钟

日期时间函数

date('Y-m-d H:i:s',time())     //返回当前日期格式字符串
time()                         //返回1970到现在的时间戳
mktime(hour,minute,second,month,day,year);//返回指定日期的时间戳
microtime()                   //返回毫秒 + 当前时间戳 字符串
date_default_timezone_get()    //当前时区

输出打印函数

echo 'hello';    //输出字符串,可打印多个参数,用逗号分割。
print('hello');  //输出字符串,总返回1。
$str = 'apple';
printf('this is %s',$str); //this is apple,根据format格式输出参数。返回值为字符串长度。
// %b 二进制 %d十进制 %o八进制 %x十六进制 %s字符串 %f浮点型  %0.2f保留两位小数
sprintf('this is %s',$str);//不输出,返回值为根据format格式化的参数。

print_r();  //可打印复合类型变量,不能打印boolean,第二个参数如果设为true,返回值为输出内容的字符串
var_dump(); //打印变量相关信息,长度 类型  没有返回值 
var_export();//第二个参数如果设为true,返回值为输出内容的字符串


exit();
die(); //都是中止脚本运行函数,die其实就是exit的别名。个人感觉就是语义的区别。可传参,在结束前输出

序列化与反序化函数

serialize();
unserialize();
//主要作用就是打数组 对象序列化为字符串,便于存储在文件。反序列化就是把字符串转回数据或对象;

字符串处理函数

//1.strchr(strstr)从参数首次出现的位置截取字符串
$string = 'my name is ccf';
var_dump(strchr($string,'n'));//name is ccf
//2.strrchr 从参数最后一次的位置截取字符串$string = 'my name is ccf';
var_dump(strrchr($string,'m'));//me is ccf//
3.strlen //字符串 字符长度var_dump(strlen($string)); //14
var_dump(strlen('测试中')); //9 utf-8 中文3字符
//4.strpos //参数出现的位置,从零开始
var_dump(strpos($string,'n'));//3
var_dump(strpos($string,'d'));//false//
5.strrev //反转字符串
var_dump(strrev($string));//fcc si eman ym
//6.substr 从参数开始截取到结束字符串
var_dump(substr($string,3));//name is ccf
var_dump(substr($string,3,3));//nam
//7.str_split //将字符串转换为数组
print_r(str_split($string));//Array ( [0] => m [1] => y [2] => [3] => n [4] => a [5] => m [6] => e [7] => [8] => i [9] => s [10] => [11] => c [12] => c [13] => f )
print_r(str_split($string,2));//两个字符为一组 Array ( [0] => my [1] => n [2] => am [3] => e [4] => is [5] => c [6] => cf )
//8.explode //将字符串根据特定的符号转换成数组 与implode相反
print_r(explode(' ',$string));//Array ( [0] => my [1] => name [2] => is [3] => ccf )
//9.str_repeat  //重复多少次字符串
var_dump(str_repeat('a',3));//aaa
//10.str_replace //替换字符串中某个字符
var_dump(str_replace(' ','-',$string));//my-name-is-ccf
//11.ip2long   //ip转整数    long2ip转回来
var_dump(ip2long('127.0.0.1'));//2130706433
//12.trim  去除字符串两边的空格或特定字符,也可以定义参数去除,ltrim去除左边的 rtrim去除右边的
var_dump(trim(' hello kitty '));//hello kitty
var_dump(trim('hello kitty','he'));//llo kitty
var_dump(trim('hello kitty','hety'));//llo kit
//13.strip_tags 从字符串中去除html php标签
var_dump(strip_tags('<p><b>hello world</b></p>'));
var_dump('<p><b>hello world</b></p>');
//14.ucfirst //字符串 首字母变大写
var_dump(ucfirst($string));//My name is ccf//
15.ucwords //字符串每个单词首字母变大写
var_dump(ucwords($string));//My Name Is Ccf
//16.htmlspecialchars   转为html实体
var_dump(htmlspecialchars('<p><b>hello world</b></p>'));//&lt;p&gt;&lt;b&gt;hello world&lt;/b&gt;&lt;/p&gt;
var_dump(htmlspecialchars_decode('&lt;p&gt;&lt;b&gt;hello world&lt;/b&gt;&lt;/p&gt;'));//<p><b>hello world</b></p>
//17.addslashes  使用反斜线转义字符串
var_dump(addslashes("Is your name O'reilly?"));//Is your name O\'reilly?
//18.str_shuffle 打乱字符
var_dump(str_shuffle($string));
//19 number_format 千位以逗号隔开var_dump(number_format('10000000'));//10,000,000

数组处理函数

$user_info = array("ID"=>1,"姓名"=>"某某","年龄"=>"22","地址"=>"北京市");
//1.返回数组中array_key 第一个参数为数组,二为需要查找的值,在个严格模式
var_dump(array_keys($user_info));           //array('ID','姓名','年龄','地址');
var_dump(array_keys($user_info,'1'));      //array('ID');
var_dump(array_keys($user_info,'a'));     //array()
var_dump(array_keys($user_info,'1',true));//array()
var_dump(array_search('1',$user_info));
//2.array_values 返回数组键值
var_dump(array_values($user_info));//array('1','某某','22','北京市');
//3.array_flip   键名跟键值交换
var_dump(array_flip($user_info));//array(1=>'ID','某某'=>"姓名",22=>"年龄","北京市"=>"地址");
//4.in_array() 判断字符串是否是数组元素   
//var_dump(in_array('北京市',$user_info)); //true
var_dump(in_array('北京',$user_info)); //false
//5.array_search 查找数组是否有该键值,存在返回键名  否则false    第三个参数为是否严格模式
var_dump(array_search('1',$user_info,true));//false
var_dump(array_search('1',$user_info));//ID
//6,array_key_exists //判断键名是否存在
var_dump(array_key_exists('ID',$user_info));
//truevar_dump(array_key_exists('1',$user_info));//false
//7.extract  把数组拆分为多个变量,键名为变量名 键值为变量值 返回值为变量的个数
var_dump(extract($user_info));//4echo $ID;echo $姓名;
//8.compact 把变量合并为数组$
var1 = 'hello';
$var2 = 'bbq';$var3 = 'demo';
var_dump(compact($var1,'var1','var2')); //array('hello'=>'hello world','var1'=>'hello','var2'=>'bbq')
//9.array_shift  返回数组的第一个元素,数组长度减一,后面的元素前移.如果数组为空或不是一个数组则返回 NULL。 
var_dump(array_shift($user_info)); //1 
var_dump($user_info); //array(姓名"=>"某某","年龄"=>"22","地址"=>"北京市");
//10.array_unshift 在数组前面插入一个或多个元素 如果键名重排,文字键名不变
var_dump(array_unshift($user_info,$var1,[1,2]));var_dump($user_info);  
//11.array_push 入栈,在数组后面插入新元素,可多个,返回数组新长度
var_dump(array_push($user_info,$var2,$var3));var_dump($user_info);
//12.array_pop 出栈,弹出最后一个元素var_dump(array_pop($user_info));
//13.array_merge   多个数组合并为一个数组
//14.array_diff  差集    array_diff_assoc 键名也比较
//sort rsort