预定义常量
下列常量作为 PHP 核心的一部分总是可用的。
| 常量 | 值 | 说明 | 有效性 | 
|---|---|---|---|
M_PI | 
      3.14159265358979323846 | Pi | |
M_E | 
      2.7182818284590452354 | e | |
M_LOG2E |  
      1.4426950408889634074 | log_2 e | |
M_LOG10E | 
      0.43429448190325182765 | log_10 e | |
M_LN2 |    
      0.69314718055994530942 | log_e 2 | |
M_LN10 |   
      2.30258509299404568402 | log_e 10 | |
M_PI_2 | 
      1.57079632679489661923 | pi/2 | |
M_PI_4 | 
     0.78539816339744830962 | pi/4 | |
M_1_PI | 
      0.31830988618379067154 | 1/pi | |
M_2_PI | 
      0.63661977236758134308 | 2/pi | |
M_SQRTPI |     
      1.77245385090551602729 | sqrt(pi) | |
M_2_SQRTPI |   
      1.12837916709551257390 | 2/sqrt(pi) | |
M_SQRT2 |  
      1.41421356237309504880 | sqrt(2) | |
M_SQRT3 |  
      1.73205080756887729352 | sqrt(3) | |
M_SQRT1_2 |    
      0.70710678118654752440 | 1/sqrt(2) | |
M_LNPI |   
      1.14472988584940017414 | log_e(pi) | |
M_EULER |  
      0.57721566490153286061 | 欧拉常数 | |
PHP_ROUND_HALF_UP |  
      1 | 一半的数值时向上取整 | |
PHP_ROUND_HALF_DOWN |  
      2 | 一半的数值时向下取整 | |
PHP_ROUND_HALF_EVEN |  
      3 | 四舍五入为偶数 | |
PHP_ROUND_HALF_ODD |  
      4 | 四舍五入为奇数 | |
NAN | 
      NAN(作为浮点数) | 非数值 | |
INF | 
      INF(作为浮点数) | 无穷大 | 
  +添加备注
  
用户贡献的备注 4 notes
  
  
  md2perpe at gmail dot com ¶
  
 
  9 years ago
  I just learnt of INF today and found out that it can be used in comparisons:
    echo 5000 < INF ? 'yes' : 'no';       // outputs 'yes'
    echo INF < INF ? 'yes' : 'no';        // outputs 'no'
    echo INF <= INF ? 'yes' : 'no';       // outputs 'yes'
    echo INF == INF ? 'yes' : 'no';       // outputs 'yes'
You can also take its negative:
    echo -INF < -5000 ? 'yes' : 'no';    // outputs 'yes'
Division by INF is allowed:
    echo 1/INF;    // outputs '0'  
  
  Hayley Watson ¶
  
 
  12 years ago
  There are also the predefined PHP_INT_MAX and PHP_INT_SIZE constants, that describe the range of possible integer values.  
  
  pemapmodder1970 at gmail dot com ¶
  
 
  8 years ago
  Although INF can be used for comparison against normal numbers and as a directed number, and behaves as reciprocal of zero, it is not like limit INF tends to infinity. These operations do not work:
<?php
var_dump(INF / INF); // float(NAN)
var_dump(INF - INF); // float(NAN)
?>
However, it works with arc-tangent:
<?php
var_dump(atan(INF) / M_PI); // float(0.5)
var_dump(atan2(INF, INF) / M_PI); // float(0.25)
var_dump(atan2(1, INF) / M_PI); // float(0)
?>  
  
  Hayley Watson ¶
  
 
7 years ago
  From PHP 7.2.0, the PHP_FLOAT_* constants are provided to describe the properties of floating point numbers that can be stored; PHP_FLOAT_MAX, for example, is analogous to PHP_INT_MAX and represents the largest possible floating-point number.