2012-03-08 20 views
-1

誰でも私にそれを手伝ってもらえますか?私はFacebookのページファンのロケールを手に入れている。 Facebookからの出力はJSON形式です。私がjson_decode($fb_output)の後に私は以下の配列で終わる。私はトップ10の言語(または10未満の場合はすべて)とキーの値(その言語を話す人の数)のリストをエコーし​​たいと思います。これまでのところ、私は失敗した。ここforeach ($fb_output $key => $value)配列からキーと値を返す

でそれを取得しようとした配列である:それは柔軟である必要があると思いますので、

Array ( 
[0] => stdClass Object ( 
    [value] => stdClass Object ( 
     [de_DE] => 8527 
     [en_US] => 313 
     [en_GB] => 147 
     [tr_TR] => 106 
     [it_IT] => 79 
     [sr_RS] => 25 
     [hu_HU] => 24 
     [es_ES] => 15 
     [bs_BA] => 12 
     [es_LA] => 12 
     [sk_SK] => 11 
     [ro_RO] => 10 
     [ru_RU] => 9 
     [pt_BR] => 9 
     [nl_NL] => 8 
     [hr_HR] => 8 
     [fr_FR] => 7 
     [sv_SE] => 5 
     [cs_CZ] => 5 
     [bg_BG] => 5 
     ) 
    [end_time] => 2012-03-05T08:00:00+0000)) 

この配列のキーの数は、利用者から利用者に変わります。

答えて

2

どのようにこのようなものについて:

それは何
$topTen = array_slice(array_keys((array) $fb_output[0]->value), 0, 10); 

  1. は、ネイティブ配列にはstdClassオブジェクトを変換します。 ((array)演算子)
  2. この配列をキーのみを含む別の配列に変換します。 (array_keys()関数)
  3. その配列の最初の10個のエントリを抽出します。 (array_slice()機能)

あなたがそれそれの(4番目のパラメータをスライスしながら、配列のキーがアップ混入していないことを、それらの値を含むトップ10を抽出array_keys部分をスキップして確認するには詳細については、ドキュメントを参照してください。):

+0

こんにちは@Niko、非常に助けて教育する。あなたはそれでも値を取得する方法を知っていますか?だから、私はトップ10の言語のリストと各言語の価値(どれくらいの人がその言語を話すか)を知ることになります。 –

+0

確かに、私はそれについて私の答えに段落を追加しました。 – Niko

+0

華麗な、ありがとう@ニコ - 魅力のように動作します。これは出力です:Array([de_DE] => 8527 [en_US] => 313 [en_GB] => 147 [tr_TR] => 106 [it_IT] => 79 [sr_RS] => 25 [hu_HU] es_ES] => 15 [bs_BA] => 12 [es_LA] => 12) 私は棒グラフにフィードしているので、1行にエコーしようとしています。 )私のようなPHPの初心者のために、このような配列をエコーするのはかなりの仕事です;) –

関連する問題