一次项目中用到的php函数总结
最近做的一个项目,我把做的过程中用到的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("\r\n", "\n", $string) 字符串$string中的\r\n替换成\n。
5、判断填写的值是否为数字 正则匹配
preg_match('正则表达式','要匹配的对象','匹配结果的数组'); 匹配返回1 不匹配返回0
preg_match('/^\d+$/',$data['pre_beid']) //匹配数字
//匹配url的正则表达式
$reg = "/^((http:\/\/)|(https:\/\/))([\w\d-]+\.)+[\w-]+(\/[\x{4e00}-\x{9fa5}\d\w-.\/?%&=]*)?$/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()函数
一次项目中用到的php函数总结的更多相关文章
- 一些项目中用到的php函数
#不为空 if (!empty($_POST)) { } #生成随机数 mt_rand(,)产生999-9999范围间的随机数
- 项目中用到的SQL-总结
基本sql总结: Group by的理解:having子句,分组函数 Group by使用的限定: 1.出现在Select列表中的字段或者出现在order by后面的字段,如果不是包含在分组函数中,那 ...
- 细数Java项目中用过的配置文件(YAML篇)
灵魂拷问:YAML,在项目中用过没?它与 properties 文件啥区别? 目前 SpringBoot.SpringCloud.Docker 等各大项目.各大组件,在使用过程中几乎都能看到 YAML ...
- 项目中用到RouteTable,发布到IIS7中无法访问
项目中用到RouteTable,发布到IIS7中,访问之后没有任何反应,google半天终于找到了解决方法,就是要把iis的“HTTP重定向”功能打开
- iOS 项目中用到的一些开源库和第三方组件
iOS 项目中用到的一些 iOS 开源库和第三方组件 分享一下我目前所在公司 iOS 项目中用到的一些 iOS 开源库和第三方组件, 感谢开源, 减少了我们的劳动力, 节约了我们大量的时间, 让我们有 ...
- iOS:项目中用到的Cookie
1.介绍: 做了这么长时间开发,Cookie真是用的不多,可是现在不一样了,这次的项目我用到了Cookie.其实,Cookie的使用在项目中愈加的频繁,一般情况下,提供的接口是用Cookie来识别用户 ...
- LinkedHashMap和HashMap的比较使用 由于现在项目中用到了LinkedHashMap,并不是太熟悉就到网上搜了一下。 ? import java.util.HashMap; impo
LinkedHashMap和HashMap的比较使用 由于现在项目中用到了LinkedHashMap,并不是太熟悉就到网上搜了一下. import java.util.HashMap; import ...
- 项目中用到的input 遇到的问题的归类
input 前几天 为了这个词 用在搜索框被我们总监喷,为了加强印象,我把它记录下来 最原始的造型 <input type="text" value="搜索&quo ...
- 在项目中用过Spring的哪些方面?及用过哪些Ajax框架?
在项目中用过Spring的哪些方面?及用过哪些Ajax框架? 解答:在项目使用过Spring IOC ,AOP,DAO,ORM,还有上下文环境. 在项目使用过Ext,Juery等Ajax框架.
随机推荐
- 一个C++程序员学习C#语言
感悟:C++是一门语法非常严谨的语言,只是指针就很难掌握,这其中肯定要经历很多折腾,特别是自学者. 折腾了一年半的C++,在即将毕业之际,对Unity3d游戏开发感兴趣,先是用cocos2dx开发了个 ...
- [BZOJ 3620] 似乎在梦中见过的样子 【KMP】
题目链接:BZOJ - 3620 题目分析 这道题使用 KMP 做 O(n^2) 的暴力就能过. 首先,我们依次枚举字串左端点 l ,然后从这个左端点开始向后做一次 KMP. 然后我们枚举右端点 r ...
- iOS:关于获取网络类型和运营商信息
目录 1. 获取运营商网络类型 2. 获取运营商信息 返回目录 1. 获取运营商网络类型 Apple的Reachability Sample看起来不错,但是只可以判断是否连接到互联网和是否连接Wifi ...
- JSP页面间传递参数的5种方法
JSP页面间传递参数是经常需要使用到的功能,有时还需要多个JSP页面间传递参数.下面介绍一下实现的方法. (1)直接在URL请求后添加 如:< a href="thexuan.jsp? ...
- TinyMCE logo 可视化HTML编辑器 TinyMCE
TinyMCE是一个轻量级的基于浏览器的所见即所得编辑器,支持目前流行的各种浏览器,由JavaScript写成.功能配置灵活简单(两行代码就可以 将编辑器嵌入网页中),支持AJAX.另一特点是加载速度 ...
- 成为Web开发人员的7个简单步骤
你想成为一名 Web 开发人员,但现在你面前有这样一个问题,那就是你没有在高科技行业工作的经验.你上了一些课程,也花了时间在个人编码项目上,但是你的简历上关于“经验”的部分仍然不为企业承认.过渡到一个 ...
- 使用LoadRunner对Web Services进行调用--Import Soap
利用LoadRunner对Web Services进行测试时,通常有三种可供采用的方法: 在LoadRunner的Web Services虚拟用户协议中,[Add Service Call] 在Loa ...
- Android 国内镜像
Android SDK官网国内很难直接访问,除了FQ/VPN等方法还是很不方便. 原有的Android SDK直接下载因http://dl-ssl.google.com/android/reposit ...
- Linux学习笔记3——Linux中常用系统管理命令
stat 显示指定文件的相关信息,比ls命令显示内容更多 who 显示在线登录用户 hostname 显示主机名称 uname显示系统信息 top 显示当前系统中耗费资源最多的进程 ps 显示瞬间的进 ...
- java基础(七)面向对象(二)
这里有我之前上课总结的一些知识点以及代码大部分是老师讲的笔记 个人认为是非常好的,,也是比较经典的内容,真诚的希望这些对于那些想学习的人有所帮助! 由于代码是分模块的上传非常的不便.也比较多,讲的也是 ...