【问题标题】:getting values from std class objects and arrays in PHP [duplicate]从 PHP 中的 std 类对象和数组中获取值 [重复]
【发布时间】:2017-05-19 06:52:25
【问题描述】:

我正在尝试使用 PHP 从这种类型的数组中获取值。如何从此数组中访问主题名称。??我可以在不使用 2 foreach's 的情况下获得这些值吗? 注意:主题数组计数不固定

 stdClass Object
(
    [Examination] => Array
        (
            [0] => stdClass Object
                (
                    [ActivityID] => 734
                    [ActivityName] => EXECUTIVE LEVEL - II
                    [CloseDate] => 2017-10-02T00:00:00
                    [ExamSubjects] => stdClass Object
                        (
                            [ExamSubject] => Array
                                (
                                    [0] => stdClass Object
                                        (
                                            [SubjectCode] => KE-2
                                            [SubjectID] => 001013
                                            [SubjectName] => KE2-Management Accounting Information
                                        )

                                    [1] => stdClass Object
                                        (
                                            [SubjectCode] => KE-3-LF
                                            [SubjectID] => 001016
                                            [SubjectName] => KE3B-Fundamentals of Law
                                        )

                                )

                        )

                    [OpenDate] => 2017-05-18T00:00:00
                    [SessionID] => 000091
                    [SessionName] => TestOnlineApp
                )

            [1] => stdClass Object
                (
                    [ActivityID] => 735
                    [ActivityName] => EXECUTIVE LEVEL - I & II
                    [CloseDate] => 2017-10-02T00:00:00
                    [ExamSubjects] => stdClass Object
                        (
                            [ExamSubject] => Array
                                (
                                    [0] => stdClass Object
                                        (
                                            [SubjectCode] => KE-1
                                            [SubjectID] => 001012
                                            [SubjectName] => KE1-Financial Accounting & Reporting Fundamentals
                                        )

                                    [1] => stdClass Object
                                        (
                                            [SubjectCode] => KE-2
                                            [SubjectID] => 001013
                                            [SubjectName] => KE2-Management Accounting Information
                                        )


                                )

                        )

                    [OpenDate] => 2017-05-18T00:00:00
                    [SessionID] => 000091
                    [SessionName] => TestOnlineApp
                )

        )

)

【问题讨论】:

  • 如果你想访问这个对象中的“一切”,你将不得不使用 2 个foreach 循环。 ExamSubjects 可以包含多个值吗?例如。除了ExamSubject
  • 这实际上取决于你想做什么。嵌套的 foreach 循环是一种选择,但这取决于您需要什么以及如何需要它。从数据结构来看,拥有这个(简单)XML 文档可能更直观。
  • @TobiasF。请问你能解释一下怎么做吗??
  • @hakre 你能解释一下怎么做吗?前一个问题不一样,这是动态数组
  • 无需急于求成和 ping 所有人,链接副本中有深入的解释,甚至包含更多链接。这个网站甚至还有一个搜索功能,我们有大量关于循环数组的材料。如果你想参考官方文档,也许php.net/foreach 是一个好的开始。关键搜索词可能是多维数组 - 导致:stackoverflow.com/q/40078683/367456stackoverflow.com/q/32839554/367456(仅 两个 示例)。

标签: php arrays loops stdclass


【解决方案1】:

你需要嵌套的foreach

foreach($data->Examination as $row)
{
    foreach($row->ExamSubjects->ExamSubject as $row1)
    {
        echo $row1->SubjectName

    }

 }

【讨论】:

    猜你喜欢
    • 2014-05-15
    • 2021-11-17
    • 1970-01-01
    • 2023-03-15
    • 2019-05-11
    • 2018-05-22
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多