环境: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