title: PHP 5.5.16 Illegal offset type in isset or empty
body: <p>I'm working with Laravel here (semi-irrelevant) and am running into a weird PHP issues I've not seen before. I am receiving an exception with this error:</p>
  
  <blockquote>
    <p>Illegal offset type in isset or empty</p>
  </blockquote>
  
  <p>The code is in the Laravel framework (<em>Illuminate\View\Factory.php</em>), and the relevant snippet throwing the error is:</p>
  
  <pre><code>if (isset($this-&gt;aliases[$view])) $view = $this-&gt;aliases[$view];
  </code></pre>
  
  <p>Now, I understand if you pass an array or object in as the array key, it will throw that error. But, I dumped out <code>$this-&gt;aliases</code> and received:</p>
  
  <pre><code>array(0) { }
  </code></pre>
  
  <p>And dumped out <code>$view</code> and received:</p>
  
  <pre><code>string(11) "layouts.app"
  </code></pre>
  
  <p>So, regardless of the fact that the array is empty, a call to <code>isset</code> <em>should</em> simply return false as the string key is not set.</p>
  
  <p>I don't believe this should be an error at all, but is there a setting in the php.ini that can cause such strict errors that I can change or am I just not understanding the fundamental operation of the <code>isset()</code> method?</p>
  
  <p><strong>EDIT</strong></p>
  
  <p>This must be related to Mihai Stancu's comment below. I just tested this and it works fine without an exception:</p>
  
  <pre><code>$key = 'test-key';
  $test = array();
  if (isset($test[$key]))
     var_dump('Yep');
  else
     var_dump('Nope');
  </code></pre>
  
  <p>That outputs "Nope" as expected. </p>