title: json_decode() returns blank but it's valid json
body: <pre><code>$a = '[{"function":"error_handler","class":"LP","type":"::","args":[256,"Call to undefined method LP_pdo::get_rorzxx() on D:\\MARK\\htdocs\\lessphptest\\application\\controllers\\users.php (23)","D:\\MARK\\htdocs\\lessphp\\LP.php",210,{"e":{"type":1,"message":"Call to undefined method LP_pdo::get_rorzxx()","file":"D:\\MARK\\htdocs\\lessphptest\\application\\controllers\\users.php","line":23}}]},{"file":"D:\\MARK\\htdocs\\lessphp\\LP.php","line":210,"function":"trigger_error","args":["Call to undefined method LP_pdo::get_rorzxx() on D:\\MARK\\htdocs\\lessphptest\\application\\controllers\\users.php (23)",256]},{"function":"shutdown","class":"LP","type":"::","args":[]}]';
  $a = json_decode($a);
  print_r($a);
  
  echo json_last_error();
  </code></pre>
  
  <p><code>print_r()</code> returns blank.</p>
  
  <p><code>json_last_error()</code> returns 4 which is <code>JSON_ERROR_SYNTAX</code></p>
  
  <p>But, when I run the json string in <a href="http://jsonlint.com/">http://jsonlint.com/</a> it returns <code>Valid JSON</code></p>
  
  <p>Any ideas why?</p>