草庐IT

php - 为什么 php 数组的整数键变为负数 (< 0)?

var_dump(array_filter(array(4294967295=>22)));结果:array(1){[-1]=>int(22)}为什么键是 最佳答案 int的最大大小如下:-PHP的32位版本:Integerscanbefrom-2147483648to2147483647PHP的64位版本:Integerscanbefrom-9223372036854775808to9223372036854775807看来您使用的是32位版本,这就是您遇到该问题的原因。 关于php-

php - 递增包含整数的字符串会出错

我有一个字符串,其末尾包含一个整数。例如。$data="TN01Y00099";我想做的是从字符串中获取整数,然后将其增加一次并将其保存回该字符串。例如,我想将前面的字符串增加为,$data="TN01Y00100";我为此尝试了以下代码。$data['kitNo']="TN01Y00099";$KitNoInt=substr($data['kitNo'],5);$KitNoInt=(int)$KitNoInt;$originalKitNo=$KitNoInt;$kitno=++$KitNoInt;$kit1=str_replace($originalKitNo,$kitno,$dat

PHP 正则表达式 - 1 个或多个整数的值

这个问题在这里已经有了答案:phpvalidateinteger(7个答案)关闭9年前。嘿,我正在尝试在PHP中执行输入验证,以确保输入的股票值至少为1个正整数,范围为0-9。不应包含任何特殊字符。例如,以下任何值都应该是有效的:703247534以下内容不应有效:asdf35/gdf../34.etc..我正在使用以下if语句来检查“$original_stock”的正整数值。if(preg_match("/^[0-9]$/",$original_stock)){$error.="Originalstockmustbenumerical.";}此外,我有一个价格字段,它应该被验证为i

php - 为什么字符串大于或小于整数?

我不明白为什么这句话两次都成立。?$hello="foo";if($hello=0){echo"ohhyess!";}输出yesohhyess!我知道这是整数和字符串之间的非法比较,但为什么它最终还是真的。 最佳答案 这是因为typejugglinginPHP.所以"foo"的计算结果为零,因为它已转换为整数。如果您使用相同的运算符(===),则不会进行类型转换,因此"foo"将被视为文字字符串,然后您的语句将计算为false。 关于php-为什么字符串大于或小于整数?,我们在Stack

php - 将 8 位整数转换为 dd/mm/yyyy

这个问题在这里已经有了答案:ConvertonedateformatintoanotherinPHP(17个答案)关闭8年前。所以我在我的PHP脚本中有这个函数,它应该将日期作为一个8位整数,例如01042012并将其转换为01/04/2012用于展示。目前我正在尝试使用php的date()函数,如下所示:$int=01042012;$date=date("d/m/Y",$int);$date的值不是01/04/2012,而是显示为13/01/1970。这是因为date()希望我传递给它的日期是unix时间吗?如果是这样,是否有更直接的方法在字符2和4之后拆分int并插入斜杠,然后重新

整数格式的PHP数字格式

我正在使用PHPnumber_format来表示产品的价格,使用小数点、千位分隔符等。例如:$price=20.456;print"$".number_format($price,2,".",",");输出$20.46。但是,如果价格是整数,例如$price=20.00,我希望输出$20。是否有其他一些函数或规则可以实现这一点,如果不需要则避免使用小数点? 最佳答案 只需将转换为整数的$price与$price进行松散比较,如果它们匹配(即它是一个整数),您可以将其格式化为0小数地点:number_format($price,((i

php - 在PHP中将字符串数组转换为整数数组

这个问题在这里已经有了答案:Convertacomma-delimitedstringintoarrayofintegers?(17个答案)关闭3年前。我按照问题中的线索this和this.我正在尝试将输入的数字流转换为整数数组。代码应该是self解释的。$handle=fopen("php://stdin","r");print("Enterspaceseparatednumberstobemadetoanarray\n");$numStream=fgets($handle);print("Creatingarrayfrom:{$numStream}\n");//Usingexplo

php - 如何在 PHP 中更轻松地将整数值映射到字符串?

如何重构以下代码,使其更简洁、更易于维护?if($row['vocation']==1)$vocation="sorcerer";if($row['vocation']==2)$vocation="druid";if($row['vocation']==3)$vocation="paladin";if($row['vocation']==4)$vocation="knight";if($row['vocation']==5)$vocation="mastersorcerer";if($row['vocation']==6)$vocation="elderdruid";if($row['

php - 生成前导 0 的整数

我有一个项目,我必须在其中生成从00000到99999的随机数。随机化不是我卡住的地方,但它总是需要5个字符的事实是。所以当它生成数字14时,我希望它是00014。实现此目标的最佳方法是什么? 最佳答案 sprintf()可以这样做:echosprintf('%05d',0);或者使用str_pad()-但代码有点长:echostr_pad(0,5,0,STR_PAD_LEFT); 关于php-生成前导0的整数,我们在StackOverflow上找到一个类似的问题:

php - 仅正整数的正则表达式是什么? (零是不允许的)

仅正整数的正则表达式是什么?(零是不允许的)我只能得到数字的正则表达式^\d+$。我一直试图在网上寻找一个,但已经一个小时了,所以我决定将其发布在StackOverflow上。匹配:1||2||444||9000||012不匹配:9.2||-90 最佳答案 ^0*[1-9]\d*$将匹配除零以外的所有数字。 关于php-仅正整数的正则表达式是什么?(零是不允许的),我们在StackOverflow上找到一个类似的问题: https://stackoverflo