2017-04-01 21 views
0

私はこの非常に難しい配列を反復する必要があります。私はただnameインデックスの価値が欲しいです。私はたくさん試しましたが、これを見つける方法がわかりません。任意の助けをいただければ幸いですPHPでこの多次元配列を反復処理する方法は?

foreach ($getPostlikes as $key=> $item) {//suppose array is $getPostlikes 


    foreach($item as $i) 
    { 
     echo $i['name']; 
    } 


} 

Array ([0] => Array ([created_time] => DateTime Object 
([date] => 2017-04-01 12:58:25.000000 [timezone_type] => 1 [timezone] => 
+00:00) [from] => Array ([name] => Ghulam Mohe Ud Din [id] => 
1242172779233884) [message] => Hi there[id] => 10154774339307663_10154774534942663)) 

は、ここでは、コードの私のいくつかの練習です。おかげ

+0

これは、複雑な配列ではありません。それはすべてあなた自身のためにデータを整理することです(そして私たち?)。明らかに、名前は 'from'値の中の配列の一部です。あなたはそれを考慮に入れなければなりません。 @KIKOSoftware。 –

+0

これは動的配列です。私は自分で手動でそれを変更することはできません。私はそれを動的に反復する必要があります –

+0

あなたは私が言ったことに反応していますか?その場合、私はそれを理解していません。あなたは配列の構造を全く知らないということですか? –

答えて

1
foreach ($getPostlikes as $key=> $item) {//suppose array is $getPostlikes 
    echo $item['from']['name']; 
} 
+0

ありがとうございます –

1

データ:これはまた、名前の重複を排除します

Array ( 
    [0] => Array ( 
     [created_time] => DateTime Object, 
     (
      [date] => 2017-04-01 12:58:25.000000, 
      [timezone_type] => 1, 
      [timezone] => +00:00), 
     [from] => Array ([name] => Ghulam Mohe Ud Din [id] => 1242172779233884), 
     [message] => Hi there[id] => 10154774339307663_10154774534942663) 
    ) 

(それぞれの名前が一度だけ表示されます)。

$name_list = array(); 
foreach($postGetLikes as $postno => $post) { 
    if(!isset($name_list[$post['from']['name']])) { 
     $name_list[$post['from']['name']] = 0; 
    } 
    $name_list[$post['from']['name']]++; 
} 

foreach($name_list as $name => $count) { 
    echo $name; 
} 
関連する問題