0

$result という名前の配列があり、print_r($result)の出力は次のようになります。

Array
(

[0] => Profile Object
    (
        [id] => 3
        [name] => alvis
        [parentLink] => ProfileLink Object
            (
                [href] => web
                [type] => data
            )
    )

[1] => Profile Object
    (
        [id] => 3
        [name] => gorgia
        [parentLink] => ProfileLink Object
            (
                [href] => text
                [type] => values
            )
    )

[2] => Profile Object
    (
        [id] => 4 
        [name] => text
        [parentLink] => ProfileLink Object
            (
                [href] => text
                [type] => values
            )
    )

 )

次を使用して名前だけを表示してみました。

foreach ($results[name] as $key => $value) {
            echo $key . ": " . $value."<br>";
            }

しかし、タイプ Profile のオブジェクトを配列として使用できないというエラーが発生しました。

そして私が試したとき

foreach ($results->name as $key => $value) {
            echo $key . ": " . $value."<br>";
            }

別のエラーが発生しました: foreach() に無効な引数が指定されまし
た ID と名前を表示する方法はありますか?

4

2 に答える 2

1

を使用foreachして、配列内の各プロファイル オブジェクトを反復処理し、 を使用して各プロファイルのプロパティを参照できます->。以下のコードは、配列の数値インデックスを無視し、プロファイル オブジェクトのidandのみを使用します。name

foreach ($result as $profile) {
    echo $profile->id .": ".$profile->name . " <br>";
}

配列の数値インデックスも含めたい場合:

foreach ($result as $index=>$profile) {
    echo "(index ". $index .") ".$profile->id.": ".$profile->name." <br>";
}
于 2012-11-05T04:47:30.760 に答える
1

foreach を使用して $result 配列をループし、「->」表記を使用して「name」属性にアクセスする必要があります。

    foreach ($result as $profile) {
            print $profile->name;
     }

プロファイル オブジェクトのすべてのプロパティを取得する場合は、get_object_vars() を使用する必要があります。

     foreach ($result as $profile) {
           $vars = get_object_vars($profile);
           foreach ($vars as $key => $var) {
                 echo $key . ": " . $var."<br>";
                 // add suitable looping for the ProfileLink object too
           }
     }
于 2012-11-05T04:49:44.987 に答える