[英]How can I separate a number and get the first two digits in PHP?
如何在 PHP 中分隔数字并获取前两位数字?
例如: 1345
-> I want this output=> 13
or 1542
I want 15
。
首先,您需要标准化您的数字,因为并非 PHP 中的所有数字都只包含数字。 您可能正在寻找一个整数:
$number = (int) $number;
您可以在这里遇到的问题是 PHP 中整数的范围或舍入问题,请参阅Integers Docs ,也会想到INF
。
由于数字现在是一个整数,您可以在字符串上下文中使用它并提取前两个字符,如果数字不是负数,这将是前两位数字。 如果数字为负,则需要保留符号:
$twoDigits = substr($number, 0, $number < 0 ? 3 : 2);
见演示。
应该不会太难了吧? 一个简单的子字符串应该可以解决问题(您可以将数字视为松散类型语言(如 PHP)中的字符串)。
有关substr()
函数,请参阅 PHP 手册页。
像这样的东西:
$output = substr($input, 0, 2); //get first two characters (digits)
您可以获取数字的字符串值,然后使用substr获取您想要的部分。
这应该做你想做的
$length = 2;
$newstr = substr($string, $lenght);
在新版本的 PHP (> PHP 7.3) 中使用强类型提示,如果您有整数或浮点数,则不能在函数上使用substr
。 是的,您可以将其转换为字符串,但这不是一个好的解决方案。 您可以除以大约十个因子并重新转换为 int。
$number = 1345;
$mynumber = (int)($number/100);
echo $mynumber;
显示:13
如果您不想使用 substr,您可以将您的数字除以 10,直到它有 2 位数字:
<?php
function foo($i) {
$i = abs((int)$i);
while ($i > 99)
$i = $i / 10;
return $i;
}
会给你前两位数字
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.