2016-11-08 16 views
0

次のコードは、私にこの例外がスローされます:私は、PHPのドキュメントと、ここでいくつかの質問を読んだPHP致命的なエラーが

$return = json_decode($result); 

Fatal error: Cannot access property started with '\0' in file.php on line 36

をので、私はこのコードを試してみた:

try{ 
    $return = json_decode($result); 
    } 
    catch(Exception $e) 
    { 

    $json_error_code = json_last_error(); 
    echo $json_error_code . ","; 
    $err.= 'JSON parse error'; 
    switch ($json_error_code) { 
    case JSON_ERROR_NONE: 
    $err = "NONE"; 
    break; 
    case JSON_ERROR_DEPTH: 
    $err.= ' - Maximum stack depth exceeded'; 
    break; 
    case JSON_ERROR_STATE_MISMATCH: 
    $err.= ' - Underflow or the modes mismatch'; 
    break; 
    case JSON_ERROR_CTRL_CHAR: 
    $err.= ' - Unexpected control character found'; 
    break; 
    case JSON_ERROR_SYNTAX: 
    $err.= ' - Syntax error, malformed JSON'; 
    break; 
    case JSON_ERROR_UTF8: 
    $err.= ' - Malformed UTF-8 characters, possibly incorrectly encoded'; 
    break; 
    default: 
    $err.= ' - Unknown error'; 
    break; 
    } 
    echo $err; 
    } 

try-catchブロックで同じ致命的なエラーが発生します。

誰かが私を解決するのに役立つことができますか?

ありがとうございます!

+0

致命的なエラーが致命的であることがわかりown error handler

を使用する必要があります。それは例外ではない。問題を解決します。 '$ result'とは何ですか? –

+0

AsyncAlexExecutor.phpファイルの36行目はどこですか? – CoffeeNinja

+0

問題があるかどうかはわかりませんが、最初の値を連結する前に変数エラーを作成していません。 '$ err。= 'JSON解析エラー';' $ err = 'JSON解析エラー'; – Phiter

答えて

-1

最初にtry catchブロックを削除します。json_decodeは例外をスローしません。 は、第二ERRあなたが存在しない変数にCONCATENATE文字列をやろう

$err= 'JSON parse error'; 

にライン

$err.= 'JSON parse error'; 

を変更$を作成します。

また、既定からブレークを削除します。これは役に立たないです。

これを実行するとうまくいくはずです。

注意:エラーは例外のように動作する場合は、json_encodeはあなたに致命的なエラーを与えた場合、JSON拡張を再インストールしてみてくださいとhttps://bugs.php.net/bug.php?id=68546

+0

そのコードでは、説明されている致命的なエラーではなく、警告が生成されます。 –

+0

'致命的なエラー: ' – Robert

+0

で始まったプロパティにアクセスできません。そして....? –