This question already has answers here:
Is there any particular difference between intval and casting to int - `(int) X`?

(7个答案)


已关闭6年。




有什么更好的选择:
// Option 1:
$intValue = (int) $numericValue;

// Option 2:
$intValue = intval($numericValue);

这两条线之间有什么区别,在哪种情况下应使用哪一条?

最佳答案

  • intval比强制转换为int慢(这是一个函数)
  • 如果
  • 的第一个参数是字符串
  • ,则intval可以接受一个基数

    由于第二项确实很晦涩,因此客观上我们应该说intval简直就是“更糟”。

    但是,个人而言,我喜欢阅读intval($var)而不是(int)$var(后者也可能需要包装其他括号),并且由于如果您要在循环内转换为int,您肯定做错了,所以我使用intval

    关于php - 什么时候应该使用intval和何时int,我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/5339590/

    10-12 18:00