我有一个新闻项目的滑块,并进行循环以获取每个项目的帖子信息。工作正常,但我被一个由json返回的参数卡住了,我再次循环它。 $ xtras参数返回一些附加值,其中一个是附加的介绍文本。我需要检查是否设置了此值,否则我需要返回默认的介绍文本。
我遇到的问题是,如果$xtra_values->id 44
不存在,我会收到上一篇文章中的介绍文字,而不是帖子$post['intro']
$ xtras像这样返回stdClass对象
stdClass Object
(
[id] => 1
[value] => 38
)
stdClass Object
(
[id] => 28
[value] => 1
)
stdClass Object
(
[id] => 44
[value] => This is extra intro text
)
这是我的循环
foreach ($post_array as $key=> $posts){
$xtras = json_decode($posts['xtra']);
foreach($xtras as $key=> $xtra_values){
if($xtra_values->id == 44){
$intro_text = $xtra_values->value;
}else{
$intro_text = $post['intro'];
}
}
echo $post['title'];.'<br />';
echo $intro_text;
}
感谢任何帮助。谢谢!
答案 0 :(得分:2)
foreach($ post_array as $ key =&gt; $ posts){
$xtras = json_decode($posts['xtra']);
$intro_text = null;
foreach($xtras as $key=> $xtra_values){
if($xtra_values->id == 44){
$intro_text = $xtra_values->value;
}
}
if($intro_text == null){
$intro_text = $post['intro'];
}
答案 1 :(得分:1)
尝试:
if(isset($xtra_values->id) && $xtra_values->id >= 0 && $xtra_values->id == 44){