最近做的一个项目,我把做的过程中用到的php函数总结一下。以后遇到类似的不用百度,直接看自己总结的就好了。都是一些简单基础的函数,随手记下。方便以后学习。
1、array_sum() 返回数组中的所有值的和。
2、array_filter() 过滤数组为空的值 并且保留之前的键值
例如 $array_name = array(0=>"小明",1=>"小花",2=>"",3=>"小夏");
array_filter($array_name)输出结果为array=([0]=>"",[1]=>"小花",[3]=>"小夏");
用这个函数可以判断数组中是否有为空的值
<?php $all_num = count($_POST['odds']); $write_num = count(array_filter($_POST['odds'])); if($all_num !== $write_num) { echo "数组中有为空的值"; } ?>
3、mt_rand() 使用 Mersenne Twister 算法返回随机整数。
如果需要一个唯一的时间标识符,可以用$differ = time().mt_rand(min,max);可以用mt_rand(1000,9999)这样可以确定$differ是一个固定长度的数字。
4、str_replace() 函数以其他字符替换字符串中的一些字符(区分大小写)。
str_replace(" ", " ", $string) 字符串$string中的 替换成 。
5、判断填写的值是否为数字 正则匹配
preg_match('正则表达式','要匹配的对象','匹配结果的数组'); 匹配返回1 不匹配返回0
preg_match('/^d+$/',$data['pre_beid']) //匹配数字
//匹配url的正则表达式
$reg = "/^((http://)|(https://))([wd-]+.)+[w-]+(/[x{4e00}-x{9fa5}dw-./?%&=]*)?$/iu";
if (!preg_match($reg, $url)) {
return false;
}
//匹配正整数的正则
$matches = "/^[1-9][0-9]*$/";
//匹配图片类型的正则
preg_match("/.(jpg|png)$/", $info_list['push_single_low']['name'][$i],$match_single_low);
$match_single_low[0]就是图片的后缀
6、计算填写的内容个数
mb_strlen()函数计算填写内容的个数,不管是汉字还是字符都算一个增加。后面填上字符串的编码会更精确
mb_strlen($btn_des,'utf-8')>12;
7、转化字符函数iconv()
$str="欢迎访问博客";
iconv('gbk','utf8',$str);//把gbk的编码转化为utf8编码
iconv有一个BUG 就是如果碰到不能转义的字体就会跳出来 东西会比之前的少一些,为了解决这个BUG,iconv第二个参数有两个参数TRANSLIT和IGNORE
iconv('gbk','utf8//TRANSLIT',$str) 如果碰到不能转义的字符串可能会转义到相近的字符而不报错,继续转义。
iconv('gbk','utf8//IGNORE',$str) 如果碰到不能转义的字符直接忽略不转义并且不报错,继续转义。
8、url转换字符
urlencode()函数原理就是首先把中文字符转换为十六进制,然后在每个字符前面加一个标识符%,
转换后的字符类似这样的:%B2%BB%D2%AA%C3%D4%C1%B5%B8%E7
urldecode()函数与urlencode()函数原理相反,用于解码已编码的 URL 字符串,其原理就是把十六进制字符串转换为中文字符
9、一个转化mysql原始语句的函数
mysql_escape_string();转化mysql语句使之成为安全的sql语句。 并不转义 % 和 _。和mysql_real_escape_string() 完全一样,除了
mysql_real_escape_string()接受的是一个连接句柄并根据当前字符集转移字符串之外,mysql_escape_string()并不接受连接参数,也不管当前字符集
单个传值可以使用escape_string()函数