title: Why `substr([], 1)` does not return "rray"?
body: <p><a href="http://php.net/manual/en/language.types.type-juggling.php" rel="nofollow noreferrer">Type Juggling</a>:</p>
  
  <blockquote>
    <p>PHP does not require (or support) explicit type definition in variable
    declaration; a variable's type is determined by the context in which
    the variable is used.</p>
  </blockquote>
  
  <pre><code>var_dump((string)[]);
  </code></pre>
  
  <p>Output:</p>
  
  <pre><code>NOTICE Array to string conversion on line number 3
  string(5) "Array"
  </code></pre>
  
  <hr>
  
  <pre><code>var_dump(substr([], 1));
  </code></pre>
  
  <p>Output:</p>
  
  <pre><code>WARNING substr() expects parameter 1 to be string, array given on line number 5
  NULL
  </code></pre>