2012-07-07 24 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

相關問題