2011-10-24 142 views
0

很簡單,但不能正確。我在這裏需要的值出會話陣列的是如何構建它:PHP:從數組中獲得價值

print_r($_SESSION); //gives: 

Array 
(
    [cart] => cart Object 
     (
      [config] => Array() 
      [maincurrency:cart:private] => GBP 
     ) 
) 

至今代碼:

foreach($_SESSION['cart'] as $category => $thing) { 

    echo $category; //echo's config |the value I need GBP 
    echo $thing; // echo's Array 

if ($category == 'maincurrency:cart:private') 
    { 
     echo 'found_it'; //doesn't echo 
     echo $category; //echo's nothing |the value I need GBP 
     echo $thing; // echo's nothing 

    } 
} 

我需要的字符串爲「英鎊」從maincurrency:測試:私人。

+0

做$ category echo'maincurrency:Test:private'? – bozdoz

+0

你試過類別 - >英鎊嗎? – CountMurphy

+1

你應該刪除你的if語句的末尾有一個分號(我確定這只是在帖子中,而不是實際的代碼)。 –

回答

3

$_SESSION['test']不是數組 - 它是Test類的一個對象與屬性maincurrency哪個接入被限制爲private - 這意味着你不能直接訪問此屬性。

爲了得到它的價值,你有兩種:類定義的屬性

  • 改變訪問public
  • 創建getter函數該物業,並用它來獲得它的值
+0

謝謝。不知道。我走了,然後寫一些額外的代碼。 – Rob