总结自己在工作中遇到过的php常用函数

总结自己在工作中遇到过的函数

a)fmod() 函数返回除法的浮点数余数。 
b)unset($saveData);销毁数组
c)strtotime(date('Y').'-01-01');把时间变为时间戳的函数 
d)isMobile();判断当前用户是否手机
e)array_push($arr,$val);//$arr被添加的数组,$val为添加的值.向$arr尾部添加$val
f)array_unshift($arr,$val);//向$arr头部添加$val
g)$id = I("request.id/d");//既能接post有能接get,/d 强制转换成整形
h)substr_replace($tel,'****',3,4)//电话号码中间四位替换成****
i)in_array ( mixed $needle , array $haystack [, bool $strict = FALSE ] )
    needle:必需。规定要在数组搜索的值。
    haystack:必需。规定要搜索的数组。
    strict:可选。如果设置该参数为 true,则检查搜索的数据与数组的值的类型是否相同。
        如果给定的值 search 存在于数组 array 中则返回 true。如果第三个参数设置为 true,函数只有在元素存在于数组中且数据类型与给定值相同时才返回 true。如果没有在数组中找到参数,函数返回 false。如果 search 参数是字符串,且 type 参数设置为 true,则搜索区分大小写。第三个参数默认为 false,当 needle 和 haystack 中的元素比较时会进行类型转换,相当于使用 == 进行比较。如果我们填写第三个参数为true那么就相当于使用===来进行比较,所以我们应该根据当前的环境来进行判断第三个参数是否进行填写。
j)intval()//获取变量的整数值,允许以使用特定的进制返回。默认10进制
    intval & (int) 都不可以转换 Object。转换效率 (int) > intval() > sprintf (intval 是PHP内置的方法,效率相对低)。其他完全相同
k)浮点数
    number_format($num, 2);//10.00 利用千位分组来格式化数字的函数,示例1,000.00
    sprintf("%.2f",$num);//利用sprintf格式化字符串示例1000.00但遇到100.1999会四舍五入成为100.2
    substr(sprintf("%.6f", $num), 0, -4);//sprintf的6f是比$num的小数点后几位,然后在切割舍弃多余的
    round($num,2);//利用round()对浮点数进行四舍五入
l)implode(separator,$array);//把数组元素组合为字符串.separator可选。规定数组元素之间放置的内容。默认是 ""(空字符串)。
m)explode(separator,string,limit);//把字符串打散为数组.separator必需。规定在哪里分割字符串。string必需。要分割的字符串。limit可选。规定所返回的数组元素的数目。大于 0 - 返回包含最多 limit 个元素的数组小于 0 - 返回包含除了最后的 -limit 个元素以外的所有元素的数组0 - 返回包含一个元素的数组
n)strstr(PHP_OS, 'WIN') ? 1 : 0//使用strstr函数查找PHP_OS常量里面是否存在win,如果存在那么IS_WIN的值就为1,不存在就为0(在这里我们使用了三目运算符)
	strstr()该函数对大小写敏感。如需进行不区分大小写的搜索,请使用 stristr() 函数。
	PHP_OS//判断系统类型
o)function_exists ( string $function_name )//在已经定义的函数列表(包括系统自带的函数和用户自定义的函数)中查找 function_name。如果 function_name 存在且的确是一个函数就返回 TRUE ,反之则返回 FALSE 。
p)string ini_get ( string $varname )//varname 配置选项名称.成功是返回配置选项值的字符串,null 的值则返回空字符串。如果配置选项不存在,将会返回 FALSE
q)date_default_timezone_get()//返回脚本中所有日期/时间函数使用的默认时区
r)phpversion()//获取当前的PHP版本
s)gethostbyname()//用域名或者主机名获取地址,操作系统提供的库函数
t)gd_info()//取得当前安装的 GD 库的信息。
u)strcmp($str1,$str2);//字符串比较是否一致区分大小写.为0时相等,其他值为不相等.原理:从子一个字符开始比较字符的ASCII值
v)filter_var(variable, filter, options);// 函数通过指定的过滤器过滤变量。如果成功,则返回已过滤的数据,如果失败,则返回 false。
	variable	必需。规定要过滤的变量。
	filter	可选。规定要使用的过滤器的 ID。
	options	规定包含标志/选项的数组。检查每个过滤器可能的标志和选项。
w)FILTER_VALIDATE_EMAIL //过滤器把值作为电子邮件地址来验证。
	示例:filter_var('xxx@xxx.com', FILTER_VALIDATE_EMAIL)
x)
public 表示全局,类内部外部子类都可以访问;
private表示私有的,只有本类内部可以使用;
protected表示受保护的,只有本类或子类或父类中可以访问;
y)php判断是否为数字:` is_numeric( $num )`
z)array_intersect_assoc(array(),array());筛选提取完全相同数据
	1.array_intersect()函数进行的比较只有数组值的比较,而且存在如”Red“和”Red2“比较时会返回"Red",反之则不会返回"Red2";
	2.array_intersect_assoc()函数是将数组的值与键值一起比较,而且不会存在array_intersect的情况,适用于较严格的比较;
	3.array_intersect_key()函数适用于比较两个数组键值的交集,返回的并不只有键值,而是键值和对应的数组值。
aa)英文转大小写
	每个单词的首字母转换为大写:ucwords()
	第一个单词首字母变大写:ucfirst()
	第一个单词首字母变小写:lcfirst()
	所有字母变大写:strtoupper()
	所有字母变小写:strtolower()
ab)range(low,high,step)//函数创建一个包含指定范围的元素的数组。该函数返回一个包含从 low 到 high 之间的元素的数组。如果 low 参数大于 high 参数,则创建的数组将是从 high 到 low。
	$letter = range("a","d");
	print_r ($letter);
	$number = range(0,50,10);
	print_r ($number);
	
ac)PHP 计算2的N次方可以使用PHP自带的函数
pow(2,4) int(16) 

ad)PHP 等比数列(a.n = a1*q^n-1))
$n=4;
$a1=3
$a1<<$n int(48)

ac)trim(string,charlist) //函数移除字符串两侧的空白字符或其他预定义字符。string	必需。规定要检查的字符串. charlist	
可选。规定从字符串中删除哪些字符。相关函数:ltrim() - 移除字符串左侧的空白字符或其他预定义字符,rtrim() - 移除字符串右侧的空白字符或其他预定义字符

ad) array_column()
array_column ( array $input , mixed $column_key , mixed $index_key = null ) : array
array_column() 返回input数组中键值为column_key的列, 如果指定了可选参数index_key,那么input数组中的这一列的值将作为返回数组中对应值的键。

ae)array_search(value,array,strict)  函数在数组中搜索某个键值,并返回对应的键名。
value	必需。规定需要搜素的键值
array	必需。规定被搜索的数组。
strict	
可选。如果该参数被设置为 TRUE,则函数在数组中搜索数据类型和值都一致的元素。可能的值:
true
false - 默认
如果设置为 true,则在数组中检查给定值的类型,数字 5 和字符串 5 是不同的(参见实例 2)。

af)
nl2br(string,xhtml)  nl2br() 函数在字符串中的每个新行(\n)之前插入 HTML 换行符(<br> 或 <br />)。
string	必需。规定要检查的字符串。xhtml	 可选。布尔值,表示是否使用兼容 XHTML 换行:

ag) sleep(3);//延时3秒执行

ah)array_count_values  可以找出数组中相同值出现的次数
 示例:

<?php
    $array = array(1, "hello", 1, "world", "hello");
    print_r(array_count_values($array));
?>
以上例程会输出:

Array
(
    [1] => 2
    [hello] => 2
    [world] => 1
)
ai)array_walk对数组中的每个元素应用用户自定义函数:
示例1:
function myfunction($value,$key)
{
echo "The key $key has the value $value<br>";
}
$a=array("a"=>"red","b"=>"green","c"=>"blue");
array_walk($a,"myfunction");
示例2:
		$arr[0] = ['age' => 11];
		$arr[1] = ['age' => 22];
        $list = array(
            ['id'=>1,'name'=>'aaa'],
            ['id'=>2,'name'=>'bbb'],
            ['id'=>3,'name'=>'ccc']
        );
 
        array_walk($list, function (&$value,$key,$arr) {
			if($value['id']==2){
				$value = array_merge($value, $arr[1]);
			}else{
				$value = array_merge($value, $arr[0]);
			}
           
        },$arr);
 
        var_dump($list);

aj)array_unique()删除数组中的重复值并返回新的数组;
ah)array_reverse()翻转数组
ai) array_values() 数组去索引

附一张从慕课网PHP进阶篇-字符串操作里总结的图片课程链接
这里写图片描述

对象序列化成字符串or反序列化为对象(类似json加密数组,解密数组)

$a = array();
$str = serialize($a); //对象序列化成字符串
echo $str.'<br>';
$c = unserialize($str); //反序列化为对象
var_dump($c);

thinkphp输出最后一条sql语句

echo M()->getLastSql();

运行时修改php的内存设置
在你的php代码中增加以下命令行即可。

ini_set('memory_limit','128M');

json_encode不转义中文和斜杠
JSON_UNESCAPED_UNICODE + JSON_UNESCAPED_SLASHES = 320

json_encode($str,320)
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值