$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.
精彩评论