2016-03-22 8 views
0

私はここでいくつかの記事を見てきましたが、どれも私のために働いていませんでした。 json_encode関数は、ローカルホスト上で動作する配列を受け取りますが、実動Webサーバーでは動作しません。json_encodeがプロダクションサーバで動作していません

まあ、PHPのバージョンは5.6.17で、JSON拡張機能は有効です。 私はこの配列を試み、うまく働い:

$arr = array('a' => 1, 'b' => 2, 'c' => 3, 'd' => 4, 'e' => 5); 
echo json_encode($arr); 

をこれが作業をdoes'n配列である:私が得るすべては空白文字列であり、配列はPDOフェッチされたデータ以降array_mergeとarray_merge_recursively機能を使用して構成されています。私にとって

Array 
(
    [id] => 32 
    [numero] => 469 
    [complemento] => Bloco A 
    [observacao] => Qualquer coisa � valida aqui! 
    [clientes] => Array 
     (
      [0] => Array 
       (
        [id] => 237 
        [id_endereco] => 32 
        [nome] => Joao Paulo 
        [data_inicio] => 22/03/2016 
        [telefones] => Array 
         (
          [donoTelefone] => 
         ) 

        [comboTelOwner] => <option value='Joao Paulo'>Joao Paulo</option><option value='Augusta Ap Raymo Longo'>Augusta Ap Raymo Longo</option><option value='Karina Longo'>Karina Longo</option> 
       ) 

      [1] => Array 
       (
        [id] => 238 
        [id_endereco] => 32 
        [nome] => Augusta Ap Raymo Longo 
        [data_inicio] => 22/03/2016 
        [telefones] => Array 
         (
          [0] => Array 
           (
            [ddd] => 16 
            [numero] => 991655725 
            [id_endereco] => 32 
            [id_cliente] => 238 
            [fone_tipo] => 1 
           ) 

          [donoTelefone] => Augusta Ap Raymo Longo 
         ) 

        [comboTelOwner] => <option value='Joao Paulo'>Joao Paulo</option><option value='Augusta Ap Raymo Longo' selected='selected'>Augusta Ap Raymo Longo</option><option value='Karina Longo'>Karina Longo</option> 
       ) 

      [2] => Array 
       (
        [id] => 239 
        [id_endereco] => 32 
        [nome] => Karina Longo 
        [data_inicio] => 22/03/2016 
        [telefones] => Array 
         (
          [donoTelefone] => 
         ) 

        [comboTelOwner] => <option value='Joao Paulo'>Joao Paulo</option><option value='Augusta Ap Raymo Longo'>Augusta Ap Raymo Longo</option><option value='Karina Longo'>Karina Longo</option> 
       ) 

     ) 

    [cep] => 14076160 
    [estado] => SP 
    [cidade] => Ribeir�o Preto 
    [bairro] => Independ�ncia 
    [tipo_logradouro] => Rua 
    [logradouro] => Brigadeiro Tobias de Aguiar 
    [telefonesComun] => Array 
     (
      [0] => Array 
       (
        [ddd] => 16 
        [numero] => 30110911 
        [id_endereco] => 32 
        [id_cliente] => 
        [fone_tipo] => 0 
       ) 

      [1] => Array 
       (
        [ddd] => 16 
        [numero] => 36286574 
        [id_endereco] => 32 
        [id_cliente] => 
        [fone_tipo] => 0 
       ) 

     ) 

) 
+1

この配列を構築する場所でコードの一部を共有できますか? – pes502

+0

マルチバイトの問題になる可能性があります。 'json_encode'はおそらく失敗し、' false'を返します。 echo ['json_last_error()'](http://php.net/manual/en/function.json-last-error.php)を試してください。これは何を印刷しますか? –

+0

すべてのエンコーディングがUTF-8であることを確認してください – apokryfos

答えて

-1

あなたはBloco Aなど、idのような文字列を引用符を使用していないので、あなたのコードは動作しません...また、あなたは、各要素間のカンマを必要とします。 "id" => 32,"numero" => 469

+0

これは配列の表現であり、JSONの表現ではありません。 – frz3993

+0

私が知っているのは、PHPの配列の例です: '$ array = array( 'id' => 12、 'numero' => 20);' – rsabir

関連する問題