我正在尝试将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 ohneMittelgräte”。 但是这个数字键665261是动态的,并且每天都会更改。
那么我该如何使用键值访问日期呢?谢谢您的帮助。
答案 0 :(得分:0)
您只需要使用foreach
loop,就像这样:
假设您的对象名称为$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>';
}
答案 1 :(得分:0)
首先,您需要检查Key是否存在于数组中。如果存在,则需要获取与该键对应的对象。然后,您可以在对象中打印所需的任何变量。
让我们说您的主要对象是$ objects,而您要查找的键是$ key。然后,您可以使用以下代码。
if( isset( $objects->$key ) ) {
$innerObject = $objects->$key;
echo $innerObject->ArtikelText; //prints ein Brathering ohne Mittelgräte
echo $innerObject->PeStud; // prints 0.75
}