2017-01-18 5 views
-5

私はゲームの名前と情報をforeachしたいと各ゲームはplatform_nameとしてフィルタリングする必要があります。この配列オブジェクトをどのようにforeachできますか?

$list = (object)[]; 
$list->egame = 
[ 
    (object)['platform_name'=>'TT', 'game'=>(object)[(object)['game_name'=>'game1', 'info'=>'test1'],(object)['game_name'=>'game2', 'info'=>'test2'],(object)['game_name'=>'game3', 'info'=>'test3']]], 

    (object)['platform_name'=>'TG', 'game'=>(object)[(object)['game_name'=>'game4', 'info'=>'test4'],(object)['game_name'=>'game5', 'info'=>'test5']]], 

    (object)['platform_name'=>'TBIN', 'game'=>(object)[(object)['game_name'=>'game6', 'info'=>'test6']]] 
]; 


?> 
+3

をお試しくださいオブジェクト?そして、http://php.net/manual/en/language.oop5.iterations.php – jeroen

答えて

-1

ここに行く:

<?php 
$list = (object)[]; 
$list->egame = 
[ 
(object)['platform_name'=>'TT', 'game'=>(object)[(object)['game_name'=>'game1', 'info'=>'test1'],(object)['game_name'=>'game2', 'info'=>'test2'],(object)['game_name'=>'game3', 'info'=>'test3']]], 

(object)['platform_name'=>'TG', 'game'=>(object)[(object)['game_name'=>'game4', 'info'=>'test4'],(object)['game_name'=>'game5', 'info'=>'test5']]], 

(object)['platform_name'=>'TBIN', 'game'=>(object)[(object)['game_name'=>'game6', 'info'=>'test6']]] 
]; 

foreach ($list->egame as $eg) { 
    foreach ($eg->game as $game) { 
     echo "game: " . $game->game_name . " info: " . $game->info . "<br>"; 
    } 
} 

?> 

編集#1 は、プラットフォームが含まれています

foreach ($list->egame as $eg) {   
     foreach ($eg->game as $game) { 
      echo "platform: " . $eg->platform_name . " game: " . $game->game_name . " info: " . $game->info . "<br>"; 
     } 
} 
+0

これはいいですが、すべてのゲームをプラットフォーム名でフィルタリングできますか?ありがとう –

+0

@GaryOwl edit1を参照してください。 – malutki5200

0

はなぜあなたがすべてのあなたの配列をキャストしている。この

$list = (object)[]; 
$list->egame = 
[ 
    (object)['platform_name' => 'TT', 'game' => (object)[(object)['game_name' => 'game1', 'info' => 'test1'], (object)['game_name' => 'game2', 'info' => 'test2'], (object)['game_name' => 'game3', 'info' => 'test3']]], 

    (object)['platform_name' => 'TG', 'game' => (object)[(object)['game_name' => 'game4', 'info' => 'test4'], (object)['game_name' => 'game5', 'info' => 'test5']]], 

    (object)['platform_name' => 'TBIN', 'game' => (object)[(object)['game_name' => 'game6', 'info' => 'test6']]] 
]; 

$arr = (array)$list->egame; 
for ($i = 0; $i < count($arr); $i++) { 
foreach ($arr[$i] as $key => $value) { 
    $aa = (array)$arr[$i]->game; 
    foreach ($aa as $k => $v) { 
     echo $aa[$k]->game_name." ".$aa[$k]->info."<br/>"; 
    } 
    echo "<br/>"; 
} 
} 
関連する問題