开发者

php string to int

开发者 https://www.devze.com 2023-03-27 04:22 出处:网络
$a = \'88\'; $b = \'88 8888\'; echo (int)$a; echo (int)$b; as expected, both produce 88. Anyone know if there\'s a string to int f开发者_JS百科unction that will work for $b\'s value and produce 888
$a = '88';
$b = '88 8888';

echo (int)$a;
echo (int)$b;

as expected, both produce 88. Anyone know if there's a string to int f开发者_JS百科unction that will work for $b's value and produce 888888? I've googled around a bit with no luck.

Thanks


You can remove the spaces before casting to int:

(int)str_replace(' ', '', $b);

Also, if you want to strip other commonly used digit delimiters (such as ,), you can give the function an array (beware though -- in some countries, like mine for example, the comma is used for fraction notation):

(int)str_replace(array(' ', ','), '', $b);


If you want to leave only numbers - use preg_replace like: (int)preg_replace("/[^\d]+/","",$b).


What do you even want the result to be? 888888? If so, just remove the spaces with str_replace, then convert.


Replace the whitespace characters, and then convert it(using the intval function or by regular typecasting)

intval(str_replace(" ", "", $b))


Use str_replace to remove the spaces first ?


You can use the str_replace when you declare your variable $b like that :

$b = str_replace(" ", "", '88 8888');
echo (int)$b;

Or the most beautiful solution is to use intval :

$b = intval(str_replace(" ", "", '88 8888');
echo $b;

If your value '88 888' is from an other variable, just replace the '88 888' by the variable who contains your String.

0

精彩评论

暂无评论...
验证码 换一张
取 消

关注公众号