2011-10-24 18 views
0

シンプルだろうが、それは正しくできない。テスト::プライベート私は必要な文字列がmaincurrencyから「GBP」ですPHP:配列から値を取得する

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 

    } 
} 

print_r($_SESSION); //gives: 

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

コード今のところ私は、セッション配列のうち値がここでどのようにそのビルドのニーズ。

+0

だ得るためにそれを使用するには、$を行いますカテゴリecho 'maincurrency:Test:private'? – bozdoz

+0

カテゴリ - > GBPを試しましたか? – CountMurphy

+1

あなたは削除すべきif文の最後にセミコロンがあります(これは実際のコードではなく、投稿内にあると確信しています)。 –

答えて

3

$_SESSION['test']は配列ではありません - クラスのオブジェクトで、アクセスはprivateに制限されています。つまり、このプロパティに直接アクセスすることはできません。それはどちらかあなたが持っている値です取得するには

:クラス定義でpublicへのプロパティの

  • 変更アクセス
  • このプロパティのgetter関数を作成し、それが価値
+0

ありがとうございます。それを知らなかった。私はいくつかの余分なコードを書き留めています。 – Rob

関連する問題