2012-07-07 25 views
0

我有一个新闻项目的滑块并做一个循环来获取发布信息。工作正常,但我坚持一个由json返回的参数,我再次循环它。 $ xtras参数返回一些额外的值,其中一个是额外的介绍文本。我需要检查这个值是否设置,否则我需要返回默认的介绍文本。检查是否有特定的数组值PHP

问题我已经是,如果$xtra_values->id 44不存在,我从原来职位的介绍文字而不是发布$post['intro']

$外加功能回到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; 
} 

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

回答

2

的foreach($ post_array为$键=> $帖子){

$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']; 
    } 
+0

相同从mgraph,不起作用和$ xtra_values-> id总是被设置,因为它返回多于一个stdClass对象,在这两种情况下,现在我只得到$ post [intro] – Benn 2012-07-07 16:26:10

+0

是$ xtra_values的一个StdClasses数组? – worenga 2012-07-07 16:36:57

+0

是的,看看上面的确切结果 – Benn 2012-07-07 16:44:57

1

尝试:

if(isset($xtra_values->id) && $xtra_values->id >= 0 && $xtra_values->id == 44){ 
+0

不工作,$ xtra_values-> ID总是设置,因为它返回超过1 stdClass对象,在这两种情况下,现在我只得到$ post [intro] – Benn 2012-07-07 16:26:35

+0

无法做到这一点,看看上面的json结果,我不止一个 – Benn 2012-07-07 16:28:59

+0

是的,我知道什么> =是,但看看上面的结果,它会检查所有的情况,并始终如此 – Benn 2012-07-07 16:48:27

相关问题