【问题标题】:How can I foreach this array object?我怎样才能foreach这个数组对象?
【发布时间】:2017-06-02 13:32:06
【问题描述】:

我想获取游戏名称和信息,每个游戏都必须过滤为平台名称。

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


?>

【问题讨论】:

标签: php arrays object foreach


【解决方案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>";
        }
 }

【讨论】:

  • 这很好,但你能根据平台名称过滤所有这些游戏吗?谢谢
【解决方案2】:

试试这个

$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/>";
}
}

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 2016-08-28
    • 2020-06-07
    • 1970-01-01
    • 2023-04-05
    • 2022-12-01
    • 2020-12-06
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多