2012-08-16 201 views
0

我从XML文件中提取结果,并将其中一个值(实际数字ID)作为字符串读取。该值被修剪并且没有空格。将字符串转换为整数?

 if (!is_numeric($id)) 
     { 
      echo "<p>$id is NOT numeric"; 
     } else { 
      echo "<p>$id is numeric"; 
     } 

的可变643394的响应是:我通过与is_numeric检查观察到了这种

643394 is NOT numeric 

PHP具有如下功能的整数转换为字符串(strtoint),但是我没有找到一个功能去其他方式(inttostr)。

是否可以将字符串“1234”转换为整数1234?

+3

INTVAL()将其转换为您或(INT) $ ID; – Waygood 2012-08-16 16:25:45

+0

必须有一些其他字符是字符串的一部分,因为'is_numeric('643394')'应该返回'true'。 'var_dump($ id);'给你什么? – jeroen 2012-08-16 16:27:29

+0

挂上,你想要将int转换为字符串,反之亦然? – 2012-08-16 16:28:23

回答

4

投下你的字符串转换为整数明确

$id = (int) $id; 

裁判:http://php.net/manual/en/language.types.type-juggling.php

+1

我可以问使用'intval()'的优点吗? – VictorKilo 2012-08-16 16:29:38

+1

@VictorKilo - 根据https://wiki.phpbb.com/Best_Practices:PHP,使用转换函数比直接转换稍慢。有关详细解释,请参阅http://stackoverflow.com/questions/5339590/when-should-one-use-intval-and-when-int – j08691 2012-08-16 16:32:51

1

字符串到整数的转换可以INTVAL($ ID)来完成或强制使用(INT)的$ id

整数类型
0

这将帮助你:

$id = $id + 0;