最近做的一个项目,我把做的过程中用到的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函数总结的更多相关文章

  1. 一些项目中用到的php函数

    #不为空 if (!empty($_POST)) { } #生成随机数 mt_rand(,)产生999-9999范围间的随机数

  2. 项目中用到的SQL-总结

    基本sql总结: Group by的理解:having子句,分组函数 Group by使用的限定: 1.出现在Select列表中的字段或者出现在order by后面的字段,如果不是包含在分组函数中,那 ...

  3. 细数Java项目中用过的配置文件(YAML篇)

    灵魂拷问:YAML,在项目中用过没?它与 properties 文件啥区别? 目前 SpringBoot.SpringCloud.Docker 等各大项目.各大组件,在使用过程中几乎都能看到 YAML ...

  4. 项目中用到RouteTable,发布到IIS7中无法访问

    项目中用到RouteTable,发布到IIS7中,访问之后没有任何反应,google半天终于找到了解决方法,就是要把iis的“HTTP重定向”功能打开

  5. iOS 项目中用到的一些开源库和第三方组件

    iOS 项目中用到的一些 iOS 开源库和第三方组件 分享一下我目前所在公司 iOS 项目中用到的一些 iOS 开源库和第三方组件, 感谢开源, 减少了我们的劳动力, 节约了我们大量的时间, 让我们有 ...

  6. iOS:项目中用到的Cookie

    1.介绍: 做了这么长时间开发,Cookie真是用的不多,可是现在不一样了,这次的项目我用到了Cookie.其实,Cookie的使用在项目中愈加的频繁,一般情况下,提供的接口是用Cookie来识别用户 ...

  7. LinkedHashMap和HashMap的比较使用 由于现在项目中用到了LinkedHashMap,并不是太熟悉就到网上搜了一下。 ? import java.util.HashMap; impo

    LinkedHashMap和HashMap的比较使用 由于现在项目中用到了LinkedHashMap,并不是太熟悉就到网上搜了一下. import java.util.HashMap; import ...

  8. 项目中用到的input 遇到的问题的归类

    input 前几天 为了这个词 用在搜索框被我们总监喷,为了加强印象,我把它记录下来 最原始的造型 <input type="text" value="搜索&quo ...

  9. 在项目中用过Spring的哪些方面?及用过哪些Ajax框架?

    在项目中用过Spring的哪些方面?及用过哪些Ajax框架? 解答:在项目使用过Spring IOC ,AOP,DAO,ORM,还有上下文环境. 在项目使用过Ext,Juery等Ajax框架.

随机推荐

  1. hOAuth2.0认证和授权原理

    原文地址: http://www.6zou.net/tech/what_is_oauth.html http://www.phpddt.com/%E4%BA%8C%E6%AC%A1%E5%BC%80% ...

  2. 同样版本的jstl,都是jstl1.2版本,有个有问题,另一个没有问题

    问题是这样的,最近部署一个项目,发现每次访问首页的时候老是报如下的错误: org.springframework.web.util.NestedServletException: Handler pr ...

  3. bzoj3631

    其实这道题其实可以转化为这样一个问题 给定n-1对点,将这两点x,y间简单路径上的点(包括起点终点)权值+1 (最后再把除了起点外的点的权值-1,注意终点没糖吃) 求每个点的权值 首先想到的是先找LC ...

  4. [转]Android推送方案分析(MQTT/XMPP/GCM)

    资源描述: 方案1. 使用GCM服务(Google Cloud Messaging)简介:Google推出的云消息服务,即第二代的G2DM.优点:Google提供的服务.原生.简单,无需实现和部署服务 ...

  5. 传智播客C语言视频第一季(有效下载期为10.1-10.7,10.8关闭)

     J:\传智播客_尹成_C语言从菜鸟到高手├─传智播客_尹成_C语言从菜鸟到高手_第一章C语言概述A│      第一讲1.1C语言第一阶段.mp4│      第二讲1.2c语言入门教程.mp4 ...

  6. hdu 4414 暴力枚举

    #include <cstdio> #include <cstring> #include <iostream> #include <cmath> #i ...

  7. Android模拟器的ip获取以及模拟器之间socket通信

    Android模拟器的ip获取以及模拟器之间socket通信           http://kalogen.iteye.com/blog/1565507 作者:李波 实现网络五子棋时用到了两个设备 ...

  8. 当前jQuery Mobile支持的6种页面切换方式

    切换方式 data-transition属性值 横向幻灯方式 slide 自上向下幻灯方式 slideup 自下向上幻灯方式 slidedown 中央弹出 pop 淡入淡出 fade 旋转弹出 fli ...

  9. 【Lucene3.6.2入门系列】第15节_SolrJ高亮

    package com.jadyer.solrj; import java.util.ArrayList; import java.util.List; import java.util.Map; i ...

  10. SPOJ 375 (树链剖分+线段树)

    题意:一棵包含N 个结点的树,每条边都有一个权值,要求模拟两种操作:(1)改变某条边的权值,(2)询问U,V 之间的路径中权值最大的边. 思路:最近比赛总是看到有树链剖分的题目,就看了论文,做了这题, ...