title: PHP - Why is it not possible to use ~PHP_INT_MAX as a default argument
body: <p>I'm wrote a function in which I was using <code>PHP_INT_MAX</code> and <code>~PHP_INT_MAX</code> as the default arguments but I ended up getting a syntax error for '~'. The declaration is:</p>
  
  <pre><code>public static function isNumberValid($number, $lowerbound = ~PHP_INT_MAX, $upperbound = PHP_INT_MAX)
  </code></pre>
  
  <p>I fixed it by making <code>$lowerbownd = null</code> in the declaration and then setting it in the body and now it works perfectly fine:</p>
  
  <pre><code>if (is_null($lowerbound)){
      $lowerbound = ~PHP_INT_MAX;
  }
  </code></pre>
  
  <p>I was just wondering why that is..</p>