title: difference between is_null "== NULL" and "=== NULL" in PHP
body: <blockquote>
    <p><strong>Possible Duplicate:</strong><br>
    <a href="https://stackoverflow.com/questions/589549/php-vs-operator">php == vs === operator</a>  </p>
  </blockquote>
  
  
  
  <p>i have the following code fragment and it doesn't make sense to me why would NULL be evaluated in 3 different ways. Consider the variable <code>$uploaded_filenames_array</code> as UNKNOWN - we don't know whether it's still an array or a NULL. That's what we are trying to check.</p>
  
  <pre><code>//-----------------------------------------------
  if (is_null($uploaded_filenames_array)){
      echo "is_null";
  }
  else{
      echo "is_NOT_null";
  }
  //-----------------------------------------------
  if ($uploaded_filenames_array == NULL){
      echo "NULL stuff";
  }
  else{
      echo "not NULL stuff";
  }
  //-----------------------------------------------
  if ($uploaded_filenames_array === NULL){
      echo "NULL identity";
  }
  else{
      echo "not NULL identity";
  }
  //-----------------------------------------------
  </code></pre>
  
  <p>i am getting the following response:</p>
  
  <pre><code>is_NOT_null 
  NULL stuff 
  not NULL identity 
  </code></pre>
  
  <p>can somebody help to understand what is the programmatic difference between these 3 ways of checking NULL?</p>