2011-05-07 7 views
4

私はこのようになります配列があります。型オブジェクトのPHPの配列をプリントアウト

Array 
(
    [0] => stdClass Object 
     (
      [user_id] => 10 
      [date_modified] => 2010-07-25 01:51:48 
     ) 

    [1] => stdClass Object 
     (
      [user_id] => 16 
      [date_modified] => 2010-07-26 14:37:24 
     ) 

    [2] => stdClass Object 
     (
      [user_id] => 27 
      [date_modified] => 2010-07-26 16:49:17 
     ) 

    [3] => stdClass Object 
     (
      [user_id] => 79 
      [date_modified] => 2010-08-08 18:53:20 
     ) 

) 

と私は何をする必要があることは、プリントアウトされたユーザIDのカンマはそう区切り:

10、16を、27、79

私はそれがループのためになるだろう推測しているが、私はああとアレイ名はPHP

でそれを行うための最も効率的な方法を探しています:$ MARRAY

私はこれを試してみた:他の人が示唆している

foreach($mArray as $k => $cur) 
{ 
    echo $cur['user_id']; 
    echo ','; 
} 

私はこのエラーを取得しておくしかし:

致命的なエラー:内の配列としてのタイプはstdClassのオブジェクトを使用することはできません

私は、この配列は、典型的な配列ではないので、それはいくつかの異なる構文が必要ですので、それはだと思いますか?

答えて

2

各配列要素は(匿名の​​)オブジェクトであり、user_idはプロパティです。それにアクセスするには、オブジェクトのプロパティアクセスの構文(->)を使用します。

foreach($mArray as $k => $cur) 
{ 
    echo $cur->user_id; 
    echo ','; 
} 
+0

なぜ '$ MARRAY $ K => $ cur'なぜ' $ $ cur'としてMARRAY単に – Ibu

+0

@Ibrahimまあ、理由はないとして。ちょうどコピーされたOPの例。 – alexn

1
かなり近い

...

foreach($mArrray as $k => $cur) 
{ 
    echo $cur->user_id.', '; 
} 
2
foreach ($mArray as $cur){ 
    echo $cur->user_id; 
} 

あなたがオブジェクト

2
で作業しているので、あなたはこのようにそれを行うことができます

末尾のカンマ(,)を避ける場合は、これを使用します。

$ids = array(); 
foreach ($array as $obj){ 
    $ids[] = $obj->user_id; 
} 

echo join(', ', $ids); 
関連する問題