0

我正在尝试将 JSON 数据放入我的 PHP 脚本中,问题是这是一个嵌套的 JSON 对象,具有动态更改的键值(我已将 JSON 对象转换为 PHP 对象):

stdClass Object
(
    [665261] => stdClass Object
        (
            [id] => 665261
            [SpeiseplanName] => Campus Mensa Wismar
            [Datum] => 2019-07-12
            [KstNr] => 462
            [ArtikelText] => ein Brathering ohne Mittelgräte
            [ZusatzStoffe] => 9 Fi Gl
            [ZusatzStoffeText] => mit Süßungsmittel, Fische, Gluten
            [PeStud] => 0.75
            [PeBed] => 1.35
            [PeGast] => 1.75
            [sortierung] => 46
        )

    [665262] => stdClass Object
        (
            [id] => 665262
            [SpeiseplanName] => Campus Mensa Wismar
            [Datum] => 2019-07-12
            [KstNr] => 462
            [ArtikelText] => zwei Bratheringe ohne Mittelgräte
            [ZusatzStoffe] => 9 Fi Gl
            [ZusatzStoffeText] => mit Süßungsmittel, Fische, Gluten
            [PeStud] => 1.25
            [PeBed] => 1.9
            [PeGast] => 2.25
            [sortierung] => 47
        )

    [665263] and so on.

所以,我已经得到了这样的数据:

<p id="desc"><?= htmlReady(_($data[665261]['ArtikelText'])) ?></p>

正如预期的那样,输出结果是“zwei Bratheringe ohne Mittelgräte”。但是这个数字键 665261 是动态的,每天都在变化。

那么如何使用这样的键值访问日期呢?谢谢您的帮助。

4

2 回答 2

0

您只需要使用foreachloop,如下所示:

假设您的对象名称对象是$objects

foreach ($objects as $obj) {
    echo '<p id="desc">' . htmlReady(_($obj->ArtikelText)) . '</p>';
}

或者,如果您有一个数组数组,其名称为$arrays

foreach ($arrays as $arr) {
    echo '<p id="desc">' . htmlReady(_($arr['ArtikelText'])) . '</p>';
}
于 2019-07-13T20:07:58.273 回答
0

首先,您需要检查您的数组中是否存在密钥。如果它存在,那么您需要获取与该键对应的对象。之后,您可以在对象中打印您需要的任何变量。

假设您的主要对象是 $objects,而您要查找的键是 $key。然后,您可以使用以下代码。


if( isset( $objects->$key ) ) {  
    $innerObject = $objects->$key;
    echo $innerObject->ArtikelText; //prints ein Brathering ohne Mittelgräte
    echo $innerObject->PeStud; // prints 0.75
}

于 2019-07-14T05:46:11.470 回答