0

我有一个用于新闻项目的滑块,并循环获取每个项目的帖子信息。工作正常,但我被 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;
}

任何帮助表示赞赏。谢谢!

4

2 回答 2

2

foreach ($post_array as $key=> $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'];
    }
于 2012-07-07T16:15:31.540 回答
1

尝试:

if(isset($xtra_values->id) && $xtra_values->id >= 0 && $xtra_values->id == 44){
于 2012-07-07T16:13:43.183 回答