【发布时间】:2018-11-10 05:35:32
【问题描述】:
我在这里遇到了一个问题,需要一些帮助。
我在我的数据库中保存了一个包含对象的 json_aray 数组。
解码和print_r之后我得到了这个结果。
Array (
[0] => stdClass Object (
[Title] => Image
[Info] => info
[ImageURL] => url.jpg )
[1] => stdClass Object (
[Title] => Image
[Info] => info
[ImageURL] => url.jpg )
[2] => stdClass Object (
[Title] => Accommodation
[Info] => info
[ImageURL] => image.jpg )
[3] => stdClass Object (
[Title] => Accommodation
[Info] => info
[ImageURL] => image.jpg )
[4] => stdClass Object (
[Title] => Accommodation
[Info] => info
[ImageURL] => image.jpg )
[5] => stdClass Object (
[Title] => Image
[Info] => info
[ImageURL] => image.jpg )
[6] => stdClass Object (
[Title] => Location
[Info] => info
[ImageURL] => image.jpg )
)
以下是案例:
我正在尝试为每个不同的Object->Title 创建一个 div,例如
我尝试使用 foreach 循环检查这一点,但结果是创建了 5 个不同的 divs 而不是一个。
如果$obj->Title == 'foo' 或以某种方式在foreach 循环之前检查数组有哪些数据并将它们分开,php 中是否有任何内置函数来获取所有$obj->Info?
我在代码中所做的如下
while($row = sqlsrv_fetch_array($get_details)) {
$a = $row['additionalInformation'];
$b = json_decode($a);
$c = $b->AdditonalInfo;
foreach ($c as $d){
echo '<div class="class">';
if(($d->Title !== 'Image')){
echo '<h2>'.$d->Title.'</h2>';
echo '<p>'.$d->Info.'</p>';
}
echo "</div>";
}
}
更新
用实际的代码更改我的代码
这就是我得到的
但我只需要创建一次住宿或所有相同的Title,并且所有Info 在该div 下具有Title == 'Accommodation'。
如果我的问题足够清楚,请告诉我,以便我更新。
总而言之,我需要在一个 div 中显示所有具有相同 [Title] 的 [Info],并为每个唯一的“[Title]”创建不同的 div
提前致谢
【问题讨论】:
-
<h4><?=$value->Title?></h4>只需删除速记 echo php 标签,您已经在 php 空间中,只需连接变量 -
是的,我知道,编辑错误。谢谢
-
不清楚,您输出所有
Title具有所需值的数据。你还需要什么? -
不应该是
$value->Title == 'Accommodation',在你的代码中$d是未定义的 -
尝试检查它是否进入内部。