PHP判断一个变量是否为整数、正整数的方法示例

在PHP中判断一个变量是否为整数

在写PHP代码的时候遇到这样一个小问题:如何判断一个变量是否为整数,于是在网上找到了两个方法来解决,在此做一个小小的记录。

方法1

<?php
 $num=12; //返回right
 //$num=12.1 返回false
 if(is_int($num)){
  echo "right";
 }else{
  echo "false";
  }
?>

这里用is_int()方法来判断传入的参数是否为整数形(int),而不是判断它是否为整数,略显局限。

方法2

<?php
 $num=12;
 if(floor($num)==$num){
  echo "right";
 }else{
  echo "false";
  }
?>

floor()方法是将传入的参数进行四舍五入。将四舍或者五入后的值与原来的值比较,若相等则为整数,不等则不为整数。

php判断一个变量是否为正整数

方法一:

if(preg_match("/^[1-9][0-9]*$/" ,$amount)){
 die('是正整数');
}

方法二:

$ num = '45 .7' ;
if((floor($ num)- $ num)!== 0){
  exit(“ 不是正整数!”);
} else {
  exit(“ 是正整数!”);
}

方法三:

$ num = '12' ;
if(floor($ num)== $ num){
  exit(“ 是正整数!”);
} else {
  exit(“ 不是正整数!”);
}

方法四:

if(! is_numeric($ jp_total)|| strpos($ jp_total ,“。”)!== false){
  die(“ 不是整数”);
} else {
  die(“ 是整数”);
}

总结

以上就是这篇文章的全部内容了,希望本文的内容对大家的学习或者工作具有一定的参考学习价值,谢谢大家对我们的支持。

时间: 2019-09-11

PHP取整数函数常用的四种方法小结

ceil - 进一法取整 说明 float ceil ( float value ) 返回不小于 value 的下一个整数,value 如果有小数部分则进一位.ceil() 返回的类型仍然是 float,因为 float 值的范围通常比 integer 要大. 例子 1. ceil() 例子 复制代码 代码如下: <?php echo ceil(4.3); // 5 echo ceil(9.999); // 10 ?> floor - 舍去法取整 说明 float floor ( float

PHP把小数转成整数3种方法

float floor ( float value)    舍去法取整 返回不大于 value 的下一个整数,将 value 的小数部分舍去取整.floor() 返回的类型仍然是 float,因为float 值的范围通常比 integer 要大. 复制代码 代码如下: echo floor(4.3);   // 4 echo floor(9.999); // 9 float ceil ( float value)    进一法取整 返回不小于 value 的下一个整数,value 如果有小数部分

PHP数据类型之整数类型、浮点数的介绍

语法:整型值可以使用十进制,十六进制或八进制表示,前面可以加上可选的符号(- 或者 +). 八进制表示数字前必须加上 0(零),十六进制表示数字前必须加上 0x. $int1=100; //十进制$int2=-123; //负数$int3=0123; //八进制数$int4=0x1A;//十六进制数 echo PHP_INT_SIZE; //显示一个整数用几个字节来表示echo "<br/>";echo PHP_INT_MAX;echo "<br/>&

PHP判断FORM表单或URL参数来的数据是否为整数的方法

PHP判断FORM表单或URL参数来的数据是否为整数,is_int函数对于FORM表单或URL参数过来的数据是没有办法判断是否是整数的,因为FORM过来的是字符串. 用is_numeric可以判断是否为数字类型,再判断是否有小数点就可以判断是不是整数了 if(!is_numeric($page)||strpos($page,".")!==false){ echo "不是整数"; }else{ echo "是整数"; } 有时候我们需要判断id是否

php计算两个整数的最大公约数常用算法小结

本文实例讲述了php计算两个整数的最大公约数常用算法.分享给大家供大家参考.具体如下: 复制代码 代码如下: <?php //计时,返回秒 function  microtime_float () {     list( $usec ,  $sec ) =  explode ( " " ,  microtime ());     return ((float) $usec  + (float) $sec ); } /////////////////////////////////

javascript 计算两个整数的百分比值

复制代码 代码如下: ///计算两个整数的百分比值 function GetPercent(num, total) { num = parseFloat(num); total = parseFloat(total); if (isNaN(num) || isNaN(total)) { return "-"; } return total <= 0 ? "0%" : (Math.round(num / total * 10000) / 100.00 + &qu

JavaScript计算两个日期时间段内日期的方法

本文实例讲述了JavaScript计算两个日期时间段内日期的方法.分享给大家供大家参考.具体实现方法如下: 复制代码 代码如下: /*************************  * 计算两个日期时间段内所有日期  *   * @param value1  *            开始日期 YYYY-MM-DD  * @param value2  *            结束日期  * return 日期数组  */  function dataScope(value1, value2

批处理bat计算两个时间差

这个是脚本代码[保存为etime.bat放在当前路径下即可: 复制代码 代码如下: :etime <begin_time> <end_time> <return> rem 所测试任务的执行时间不超过1天 // 骨瘦如柴版 setlocal&set be=%~1:%~2&set cc=(%%d-%%a)*360000+(1%%e-1%%b)*6000+1%%f-1%%c&set dy=-8640000 for /f "delims=: t

MSSQL 计算两个日期相差的工作天数的语句

复制代码 代码如下: if exists (select * from dbo.sysobjects where id = object_id(N'[dbo].[f_WorkDay]') and xtype in (N'FN', N'IF', N'TF')) drop function [dbo].[f_WorkDay] GO --计算两个日期相差的工作天数 CREATE FUNCTION f_WorkDay( @dt_begin datetime, --计算的开始日期 @dt_end date

javaScript 计算两个日期的天数相差(示例代码)

一:计算两个日期相差的天数 比如:   str1  =  "2002-01-20"   str2  =  "2002-10-11"  怎样用javaScript计算出str1与str2之间相差的天数?  复制代码 代码如下: <html>  <head>  <meta  http-equiv="Content-Type"  content="text/html;  charset=gb2312"&

JAVA计算两个日期相差的实例

在Java开发物流或是其他功能的时候会用到两个日期 相差多天的数据,所以整理了一下备用.调用方式: 复制代码 代码如下: long date1 = getDateTime("20121201");//可改成自己的日期类型,但以 "20121212"这种格式 long date2 = getDateTime("20121212");   int day = dateInterval(date1, date2);   System.out.print

Java计算两个程序运行时间的实例

一.获取系统当前时间 long startTime = System.currentTimeMillis(); //获取开始时间 doSomething(); //测试的代码段 long endTime = System.currentTimeMillis(); //获取结束时间 System.out.println("程序运行时间:" + (endTime - startTime) + "ms"); //输出程序运行时间 二.以纳秒为单位计算 // 第二种是以纳秒

java计算两个日期之前的天数实例(排除节假日和周末)

如题所说,计算两个日期之前的天数,排除节假日和周末.这里天数的类型为double,因为该功能实现的是请假天数的计算,有请一上午假的为0.5天. 不够很坑的是每个日期都要查询数据库,感觉很浪费时间. 原则: 1.节假日存放在数据库中 实现步骤: 1.循环每个日期 2.判断每个日期是否为节假日或者为周末 3.若不是节假日和周末,天数+1 代码: public double calLeaveDays(Date startTime,Date endTime){ double leaveDays = 0;

计算两个字符串最大公有子串

背景 对算法一直应用的比较少,最近看到一些典型的算法想练练手,想看看到底有多么让人讨厌.其实发现算法都有一定的套路,一般并不是临时凭空想出来的,大都建立在一些已经存在的经典算法知识以及数据结构上.换句话来说,如果某些玩法之前未接触过,那么让你在短时间内临时想出来还是有一定难度的.这有点类似项目经验,如果曾经做过一个CRM系统,下次再碰到它时你就轻松很多,如果你挑战的是一个你从未遇到过的系统,你只能凭已有知识去强吃. 计算两个字符串最大公共子串 这个也是经常遇到到,给出两个任意长度的字符串,输出最