我怎样才能预测这个数组对象?

时间:2017-01-18 08:50:31

标签: php arrays object foreach

我想要预先知道游戏名称和信息,每个游戏必须过滤为platform_name。

$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']]]
];


?>

2 个答案:

答案 0 :(得分: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/>";
}
}

答案 1 :(得分:-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>";
        }
 }