经常用到的PHP取整函数,主要是:ceil,floor,round,intvalceil--进一法取整说明floatceil(floatvalue)返回不小于value的下一个整数,value如果有小数部分则进一位。ceil()返回的类型仍然是float,因为float值的范围通常比integer要大。例子1.ceil()例子?phpechoceil(4.3);//5echoceil(9.999);//10?floor--舍去法取整说明floatfloor(floatvalue)返回不大于value的下一个整数,将value的小数部分舍去取整。floor()返回的类型仍然是float,因为float值的范围通常比integer要大。例子1.floor()例子?phpechofloor(4.3);//4echofloor(9.999);//9?round--对浮点数进行四舍五入说明floatround(floatval[,intprecision])返回将val根据指定精度precision(十进制小数点后数字的数目)进行四舍五入的结果。precision也可以是负数或零(默认值)。例子1.round()例子?phpechoround(3.4);//3echoround(3.5);//4echoround(3.6);//4echoround(3.6,0);//4echoround(1.95583,2);//1.96echoround(1241757,-3);//1242000echoround(5.045,2);//5.05echoround(5.055,2);//5.06?intval---对变数转成整数型态例子intval()?phpechointval(4.3);//4echointval(4.6);//4?********************************************************************substr(string,start,length)string必需。规定要返回其中一部分的字符串。start必需。规定在字符串的何处开始。正数-在字符串的指定位置开始负数-在从字符串结尾的指定位置开始0-在字符串中的第一个字符处开始charlist可选。规定要返回的字符串长度。默认是直到字符串的结尾。正数-从start参数所在的位置返回负数-从字符串末端返回********************************************************************strlen(字符串长度)********************************************************************$str=”Thislinecontains\tliberal\r\nuseofwhitespace.\n\n”;//首先去掉头尾空格$str=trim($str);//接着去掉两个空格以上的$str=preg_replace(’/\s(?=\s)/’,‘’,$str);//最后将非空格替换为一个空格$str=preg_replace(’/[\n\r\t]/’,‘‘,$str);使用上面的例子可以去掉所有多余的空格。首先使用TRim()去头尾空格,接着用preg_replace()去掉重复的空格。当中的(?=)表示只匹配后面的空格跟随前面的空格的空格。********************************************************************先说rand()函数吧,rand([intmin],[intmax])本函数从min和max之间取一个随机数。若没有指定随机数的最大及最小范围,本函数会自动的从0到RAND_MAX中取一个随机数。但是如果只用rand()这个函数,随机数的乱度很大,每次在取随机数之前最好使用srand()函数,以配置新的随机数种子。解释一下下面这个用法(一般都是这样用这两个函数的):srand((double)microtime()*1000000);$rand_number=rand();microtime()返回了两个值:当前毫秒和时间戳,我们要提取随机数,只能从毫秒中取一个随机数,(double)microtime()就只返回当前的毫秒值。microtime()是以秒为单位的毫秒数,因而值都是小数,乘以1000000将其换算为整数。********************************************************************str_replace(string,string,string);第一个参数要替换字符串,第二个参数替换后的字符串,第三个参数为原字符串所在的字符串********************************************************************语法htmlspecialchars(string,quotestyle,character-set)参数描述string必需。规定要转换的字符串。quotestyle可选。规定如何编码单引号和双引号。ENT_COMPAT-默认。仅编码双引号。ENT_QUOTES-编码双引号和单引号。ENT_NOQUOTES-不编码任何引号。character-set可选。字符串值,规定要使用的字符集。ISO-8859-1-默认。西欧。ISO-8859-15-西欧(增加Euro符号以及法语、芬兰语字母)。UTF-8-ASCII兼容多字节8比特Unicodecp866-DOS专用Cyrillic字符集cp1251-Windows专用Cyrillic字符集cp1252-Windows专用西欧字符集KOI8-R-俄语GB2312-简体中文,国家标准字符集BIG5-繁体中文BIG5-HKSCS-Big5香港扩展Shift_JIS-日语EUC-JP-日语htmlspecialchars($str,ENT_COMPAT);********************************************************************是否为数字$a=1a;if(preg_match('/^\d*$/',$a)){echo纯数字;}else{echo有非数字字符;}$str=;if(!empty($str)){echook;当$str不为空的时候}else{echowrong!;//当$str为空的时候}********************************************************************使用函式date()实现?phpecho$showtime=date(Y-m-dH:i:s);?显示的格式:年-月-日小时:分钟:秒相关时间参数:a-am或是pmA-AM或是PMd-几日,二位数字,若不足二位则前面补零;如:01至31D-星期几,三个英文字母;如:FriF-月份,英文全名;如:Januaryh-12小时制的小时;如:01至12H-24小时制的小时;如:00至23g-12小时制的小时,不足二位不补零;如:1至12G-24小时制的小时,不足二位不补零;如:0至23i-分钟;如:00至59j-几日,二位数字,若不足二位不补零;如:1至31l-星期几,英文全名;如:Fridaym-月份,二位数字,若不足二位则在前面补零;如:01至12n-月份,二位数字,若不足二位则不补零;如:1至12M-月份,三个英文字母;如:Jans-秒;如:00至59S-字尾加英文序数,二个英文字母;如:th,ndt-指定月份的天数;如:28至31U-总秒数w-数字型的星期几,如:0(星期日)至6(星期六)Y-年,四位数字;如:1999y-年,二位数字;如:99z-一年中的第几天;如:0至365可以自由设定显示的内容,连接符号或是显示位置,例如date(m-dH)或者date(dmY);?等php中的日期处理加入时间:2004-12-1817:35:22大小:12KB阅读次数:1405PHP中的日期处理转贴:xiaxia日期:2004-05-26人气:9我正打算用PHP编写一种帮助处理系统。我发现我必须知道处理完最后一位客户的问题后已经过去了多长时间?当我过去用ASP时解决这个问题相当简单,ASP有相应的函数DateDiff可以给出两个日期间间隔多少月、多少天和多少秒。当我搜寻完PHP手册后我发现PHP并没有类似的函数。本文包含以下内容:1、得到目前的日期和时间-我们有多少种方式?2、改变日期显示的方式-日期和时间的显示形式3、转换现在的日期为Unix的时间戳值4、改变日期a.增加时间b.减去时间c.找出两日期之间的间隔5、为PHP添加DateAdd函数6、为PHP添加DateDiff函数**得到目前的日期和时间在Unix中,时间的表示方式为计算从1970年1月1日零时起所过去的秒数,这称为UNIX时间戳(UnixEpoch)。如果我们有这样一段的代码:?echotime();?将返回值958905820而此时的时间为2000年5月21日12时43分。你也许会说这相当不错。当这对我毫无帮助,或者只有一点帮助。在PHP中,对日期处理的函数都必须用到由time()返回的时间戳值。同时,由于PHP在Unix和Windows系统中均使用同样的时间戳值,这就允许你不需要修改代码即可在不同的系统间移植。另外的一个好处是time()函数返回的是一个整数,你可以将其作为整数字段或文本字段存入数据库,而不必使用特别的日期/时间字段。你已经基本了解了Unix的时间戳值,现在让我们来展示它的实际用途。改变日期显示的方式-日期和时间的显示形式PHP提供两个办法来将Unix的时间戳值转换成为有用的数据。第一个是date()函数。这个函数有两个参数-第一个字符串用于设定你所希望返回的格式,第二个为Unix的时间戳值。格式化字符串通过一些简单的特殊格式化字符来显示你所希望看到的格式的日期和时间。假设你希望日期以这样的格式显示“18h01Sunday21May”。我们需要对字符串中的每一部分使用一个特殊格式化字符,你可以从PHP手册中日期和时间函数库中找到。这样的特殊格式化字符数量不少,他们所表示的类似于星期几、月的英文名、用2位或4位数表示的年份,是否是上午(AM)或下午(PM)以及其他。对于这个例子我们需要的特殊字符为:‘H’-24小时制的小时‘i’-分钟‘l’-星期几的英文全名‘d’-本月的第几日‘F’-月份的英文全名因此我们的格式化字符串为”HhildF”,PHP代码为:?echodate(HhildF,time());?当我们执行这段代码,我们发现我们所得到的结果为:180609Sunday21May这样的结果看起来有些奇怪。让我们再查一下PHP手册,原来’h’所代表的是12小时制的小时数。这再次证明了一句真理:“计算机只做你所告诉它该做的,而不是你想要它做的”。我们有两个选择。第一个是在h前使用转义字符“”:echodate(HhildF,time());我们得到这样的结果:18h12Sunday21May这正是我们所要的。但如果我们在一个十分复杂的句子中需要包含日期和时间,我们是否需要对每个字符使用转义字符?答案当然是不。我们使用另一个函数strftime()。strftime()有两个好处。第一个好处我们并不在本文讨论范围内-如果你使用setlocale()函数,你可以通过strftime得到相应语言的月份的名称。另外的一个好处是你可以将特别的日期和时间的格式化字符包含在你的字符串中。这同时也意味着无论你是否要学习date()函数的所有特殊格式化字符,你都必须学习一整套完全不同的格式化字符。strftime()工作的方式和date()没有什么不同,除了特殊格式化字符的前面必须添加一个百分号%。如果