2017-03-05 23 views
0

こんにちは配列からオブジェクトのプロパティにアクセスしようとしていますが、正しく取得できないようです。私はPHPで掲示されるオブジェクトの配列を持っています。PHPの配列内の要素にアクセスする方法

$classrooms = $_POST->client->classrooms 

私はのvar_dump($教室)私は以下のような構造を得る行うとき:

array(1) { 
[0]=> 
array(2) { 
[0]=> 
object(stdClass)#5 (4) { 
    ["classroomid"]=> 
    int(2) 
    ["classroom"]=> 
    string(7) "Grade 1" 
} 
[1]=> 
object(stdClass)#6 (4) { 
    ["classroomid"]=> 
    int(4) 
    ["classroom"]=> 
    string(9) "Grade 2" 
    } 
} 
} 

を私はPHPで次のコードを使用して、「教室」プロパティにアクセスしようとしていますが、それは何も出力しません。

foreach($classroom as $item) 
{ 
    echo $item['classroom']; 
} 

しかし

(インデックスをハードコーディングすることで)このようにしてみてください、それは私の教室の正しい名前を与えますが、私は、配列になりますどのように多くの知らないよう、私は、インデックスを渡すことができない場合。

foreach($classroom as $item) 
{ 
    echo $item[0]['classroom']; 
} 

ありがとうございます。 " - >" キーの値を取得するために

+0

配列内に配列があるので、おそらく 'foreach($ classroom [0] as ...)'や2つのforeachループを使います。 – Rizier123

答えて

2

、このようにはstdClassのために

$lists = []; 
    foreach($classroom as $item) 
    { 
     foreach($item as $k => $v){ 
     $lists[] = $v->classroom; // or $v->classroom; 
     } 
    } 

print_r($lists); 
+0

申し訳ありませんが、何もエコーしないように動作しませんでした – snowflakes74

+0

WOW!このようにすることができるかどうかはわかりませんでした。ありがとうございました。 – snowflakes74

2

を試してみては、あなたが使用する必要がありますオブジェクト。

foreach($classroom as $subarray) { 
     foreach($subarray as $item) { 
     echo $item->classroom; 
     } 
    } 

あなたは$アイテム[「教室」]を使用している場合、それはエラーがスローされます。 PHPの致命的なエラー:不明なエラー:配列としてのタイプはstdClassのオブジェクトを使用することはできませんが。

+0

完璧に作業しています。 – snowflakes74

関連する問題