2016-10-31 18 views
0

どのようにキーをすべて取得し、それぞれのキーをJSONオブジェクト配列からエコーするのですか?私のために働いていない、次の追加PHP内でJSONのすべてのキーを取得するにはどうすればよいですか?

/* SAMPLE JSON THAT IS SENT 
$mystring = '{ 
    "display_name": "Silverware", 
    "fields": [ 
     { 
      "field_name": "Age", 
      "sort_order": 1, 
      "required": 0, 
      "view_type": "text", 
      "description": "", 
      "multi_value": 0, 
      "char_count": 255 
     }, 
     { 
      "field_name": "Brand", 
      "sort_order": 2, 
      "required": 0, 
      "view_type": "multiselect", 
      "description": "", 
      "multi_value": 1, 
      "char_count": 255 
     } 
    ] 
}'; 
*/ 


$json = json_decode($HTTP_RAW_POST_DATA); 
$arr = $json->{'fields'}; 

// This is how I print a specific value 
//print $arr[0]->{'field_name'}; 

json_decode()の2番目のパラメータの

foreach ($arr as $k => $v) { 
    echo $k', '; 
} 
+0

私は疑問を抱き、これがPHPへの最初のダイビングであると言います。私はあなたがこれを持っていることを誇りに思っていますので、 'error_reporting(E_ALL);を追加してください。 ini_set( 'display_errors'、 'On'); 'をファイルの先頭に置き、エラーメッセージが表示されるはずですので再試行してください。エラーが表示されたら、それが何を伝えているのか評価します。 – MonkeyZeus

+0

Pro-tip: 'echo implode( '、'、array_keys($ arr));' – MonkeyZeus

+1

'HTTP_RAW_POST_DATA'は非推奨5.6で、7.0から削除しました。 –

答えて

3

使用true

は、ここに私のコードです。

foreach ($j['fields'] as $field) { 
    $keys = array_keys($field); 
    foreach ($keys as $key) { 
    echo $key; 
    } 
} 
関連する問題