php 常用函数
环境:php 5.6
1、常用字符串函数:
// 输出字符串 echo "str1","str2\r"; //str1str2 // 只格式化,返回 12 不输出。 sprintf('%d',12.54); // 格式化,并打印结果 printf('%d',12.54); // 12 // 只打印结果 print(12.54); // 打印结果 print_r(['a'=>1,'b'=>2]); // 计算字符传长度 汉字占3个长度位 strlen('abcd您'); // 输出7 // 将字符串分割成数组 $arr=explode(',', 'a,b,c'); /* array(3) { [0] => string(1) "a" [1] => string(1) "b" [2] => string(1) "c" } **/ // 将数组合并成字符串 implode(',', $arr); // string(5) "a,b,c" // 去掉左边字符串 ltrim(' abc '); // string(4) "abc " // 去掉右边的空字符 rtrim(' abc ') ; // string(5) " abc" // 去掉两端空字符 trim(' abc ','1'); // string(3) "abc" // 从指定位置截取字符串 substr('abcdefg',2); // cdefg // 从指定位置截取定长字符串 ,指定长度如果超过剩余字符串长度不抛出异常 substr('abcdefg',2,3); //cdefg // 截取定长字符串 指定起始位置为负数 则从字符串末尾开始截取 substr('abcdefg',-3,2); // ef // 替换指定字符串,区分大小写 str_replace('b', '0', 'abcBabc'); //a0cBa0c // 替换指定字符串,区分大小写 str_ireplace('b', '0', 'abcBabc'); //a0c0a0c // 转换大写 strtoupper('abCD'); //ABCD // 转换小写 strtolower('abCD');//abcd // 将字符串第一个字母转换成大写 ucfirst('abcd'); //Abcd // 编码HTML 标记 htmlentities('<br/>'); // <br/> //返回第二个参数字符串在第一个字符串里出现的次数 echo substr_count('abcabc', 'ab'); //2 //返回参数2字符串 在参数1字符串 第一次出现的位置 ,参数1字符位置算0 strpos('abcabcbac', 'c'); //2 //返回参数2字符串 在参数1字符串 最后一次出现的位置 ,参数1字符位置算0 strrpos('abcabcabc', 'c'); //8 // 从第一次出现参数2中的字符串开始截取。 strstr('abcdeabcdeabcd', 'bc'); //bcdeabcdeabcd //截取参数1,最后一次出现的参数2的字符串 strrchr('abcdeabcdeabcd', 'bc'); //bcd
2、常用数组函数
$arr=['a'=>'apple','b'=>'blank','c'=>'cat','d'=>'door']; // 输出数组数据项数 count($arr); // sizeof 为 count函数 别名 sizeof($arr); // 获取数组的key 集合 array_keys($arr); /* array(4) { [0] => string(1) "a" [1] => string(1) "b" [2] => string(1) "c" [3] => string(1) "d" } */ //获取数组的数值集合 array_values($arr); /* array(4) { [0] => string(5) "apple" [1] => string(5) "blank" [2] => string(3) "cat" [3] => string(4) "door" } */ // 判断数组中是否存在参数1值的key array_key_exists('a', $arr); //bool(true) // 判断是否存在某元素值 in_array('rhythmk', $arr); // bool(false) // 返回一个有参数1 作为key 参数2作为 value 的新数组 array_combine(['a','b','c'], ['a1','a2','a3']); /* array(3) { 'a' => string(2) "a1" 'b' => string(2) "a2" 'c' => string(2) "a3" } */ // 合并参数1 跟参数2的数组,如果key相同 ,则以数组2中key对应的数值为准 array_merge(['a'=>'a1','b'=>'b1'], ['b'=>'b2','c'=>'c1']); /* array(3) { 'a' => string(2) "a1" 'b' => string(2) "b2" 'c' => string(2) "c1" } */ function doubleStr($value) { return $value.$value; } // 将用户定义的函数作用到数组的值上 array_map( 'doubleStr', $arr); /* array(4) { 'a' => string(10) "appleapple" 'b' => string(10) "blankblank" 'c' => string(6) "catcat" 'd' => string(8) "doordoor" } */ $arr2=[]; // 向数组尾部插入一个或者多个值 array_push($arr2, ['b'=>'b1']); array_push($arr2, ['c'=>'c1']); /* array(2) { [0] => array(1) { 'b' => string(2) "b1" } [1] => array(1) { 'c' => string(2) "c1" } } */ // 返回数值尾部的项,并将该项移除数组 array_pop($arr2); /* array(1) { [0] => array(1) { 'b' => string(2) "b1" } } */ // 删除数组第一个元素,同时返回删除的元素 array_shift($arr); //在数组第一个元素前面插入一个或者多个元素 array_unshift($arr, 'top'); /* array(4) { [0] => string(3) "top" 'b' => string(5) "blank" 'c' => string(3) "cat" 'd' => string(4) "door" } */ // 根据数组的key值,对数组进行排序。 SORT_DESC |SORT_ASC; array_multisort($arr,SORT_DESC); /* array(4) { 'd' => string(4) "door" 'c' => string(3) "cat" 'b' => string(5) "blank" 'a' => string(5) "apple" } */ // 查询参数2数组中值等于参数1的数组项对应的key array_search('cat', $arr); //string(1) "c" // 删除中数组值相同的元素,优先删除后面元素 array_unique(['a'=>'a1','b'=>'b1','c'=>'a1']); /* array(2) { 'a' => string(2) "a1" 'b' => string(2) "b1" } */
3、常用时间函数
// 设置默认时区 date_default_timezone_set('PRC'); // 按24时格式返回当前时间 date('Y-m-d H:i:s'); //string(19) "2015-12-27 14:01:00" // 按12时格式返回当前时间 date('Y-m-d h:i:s'); //2015-12-27 02:04:57 date('Y-m-d'); //2015-12-27 // 返回自从 Unix 纪元(格林威治时间 1970 年 1 月 1 日 00:00:00)到当前时间的秒数。 $now= time(); //int(1451196388) //明天此时 $tomorow=time()+1*24*60*60; date('Y-m-d H:i:s',$tomorow); //string(19) "2015-12-28 14:13:26" // strtotime 函数将任何英文文本的日期时间描述解析为 Unix 时间戳。 // 返回当前时间戳 等同于 time(); strtotime('now'); // 当前时间 + 5小时 echo(strtotime("+5 hours").'|'.(time()+5*60*60)); // 1451215211|1451215211 // 当前时间 + 1 天 echo(strtotime("+1 days").'|'.(time()+24*60*60)); // 1451283611|1451283611 // 当前时间 + 1 周 echo(strtotime("+1 week").'|'.(time()+7*24*60*60)); //1451802011|1451802011
4、常用数值处理函数
ceil:
返回不小于 value 的下一个整数, 返回的类型仍然是 float,因为 float 值的范围通常比 integer 要大 .
floor:
返回不大于 value 的下一个整数,将 value 的小数部分舍去取整。floor() 返回的类型仍然是 float,因为 float 值的范围通常比 integer 要大。
round:
返回将 val 根据指定精度precision(十进制小数点后数字的数目)进行四舍五入的结果。
intval: int intval ( mixed $var
[, int $base
= 10 ] )
通过使用指定的进制 base
转换(默认是十进制),返回变量 var
的 integer 数值。 intval() 不能用于 object,否则会产生 E_NOTICE
错误并返回 1。
echo ceil(-1.2); // -1 echo intval(-1.2); // -1 echo floor(-1.2); // -2 echo ceil(1.2); // 2 echo intval(1.8); // 1 echo floor(1.2); // 1 // 根据小数点第一位进行四舍五入 echo round(123456.45345); // 123456 // 保留小数点后3位,根据小数点后第4位进行四舍五入 echo round(123456.12345,3); // 123456.123 // 根据小数点前面第3位,进行四舍五入 echo round(123556.12345,-3); // 124000 echo intval(42); // 42 echo intval(4.2); // 4 echo intval('42'); // 42 echo intval('+42'); // 42 echo intval('-42'); // -42 echo intval(042); // 34 echo intval('042'); // 42 echo intval(1e10); // 1410065408 echo intval('1e10'); // 1 echo intval(0x1A); // 26 echo intval(42000000); // 42000000 echo intval(420000000000000000000); // 0 echo intval('420000000000000000000'); // 2147483647 echo intval(42, 8); // 42 echo intval('42', 8); // 34
一只站在树上的鸟儿,从来不会害怕树枝会断裂,因为它相信的不是树枝,而是它自己的翅膀。与其每天担心未来,不如努力做好现在。