2016-05-22 13 views
0

のカンマ区切りのリストの中にネストされた配列を変換します私はこのようなJSONの単純なビット持っている値

<?php 
$str = file_get_contents('http://localhost/_testing/emoji/emoj1-test.json'); 

$json_a = json_decode($str, true); 

foreach($json_a as $key => $val) { 
    echo $val['unicode']; 
    echo $val['name']; 
} 
?> 

:私は経由して、「ユニコード」と「名前」の要素にアクセスすることができます

{ 
    "grinning": { 
    "unicode": "1f600", 
    "unicode_alternates": "", 
    "name": "grinning face", 
    "shortname": ":grinning:", 
    "category": "people", 
    "emoji_order": "1", 
    "aliases": [ 

    ], 
    "aliases_ascii": [ 

    ], 
    "keywords": [ 
     "happy", 
     "joy", 
     "smile", 
     "grin", 
     "smiling", 
     "smiley", 
     "person" 
    ] 
    }, 
    "grimacing": { 
    "unicode": "1f62c", 
    "unicode_alternates": "", 
    "name": "grimacing face", 
    "shortname": ":grimacing:", 
    "category": "people", 
    "emoji_order": "2", 
    "aliases": [ 

    ], 
    "aliases_ascii": [ 

    ], 
    "keywords": [ 
     "teeth", 
     "grimace", 
     "disapprove", 
     "pain", 
     "person" 
    ] 
    } 
} 

をしかし、キーワードの入れ子になった配列をカンマ区切りの値リストとして保持されている変数にどのように取り入れることができるのかは分かりません。

私は単純化してみました:

echo $val['keywords']; 

しかし、それは配列だから、それはこのエラーを返します。

お知らせ:文字列への変換アレイ

私は、試してみました:

echo $val['keywords'][0]; 

私が思う右の線に沿っていますが、それでもデータは返されません。

答えて

4

echo implode(',', $val['keywords']);

+0

パーフェクトをお試しください!ありがとう。 10分で回答として受け入れることができます。私のアカウントの制限により、それまではできません。 – 4532066

0

次のネストの2つのレベルまで動作します。ネストした配列全体を繰り返し処理して印刷することができます。

<?php 
$arr = ['Your JSON']; 
foreach ($arr as $key => $value) { 
    $string = is_array($value) ? implode(",", $value) : $value; 
    echo $string; 
} 
?> 
1

、参加して

foreach($json_a as $key => $val){ 
    echo join(", ", $val['keywords']); 
} 
関連する問題