オブジェクト配列は、複数のオブジェクトで構成される配列を指します。一般的な数値配列とは異なり、オブジェクト配列はオブジェクト参照で構成される配列です。 PHP では、オブジェクトの配列を読み取る方法がいくつかあります。
1. foreach ループを使用してオブジェクト配列を走査する
foreach ループを使用してオブジェクト配列を走査することは、最も一般的な方法の 1 つです。サンプル コードは次のとおりです。
class User { public $id; public $name; public $email; } $user1 = new User(); $user1->id = 1; $user1->name = "John"; $user1->email = "john@example.com"; $user2 = new User(); $user2->id = 2; $user2->name = "Smith"; $user2->email = "smith@example.com"; $users = array($user1, $user2); foreach ($users as $user) { echo $user->id . " | " . $user->name . " | " . $user->email . "<br>"; }
上の例では、User クラスを作成し、2 つのオブジェクト $user1 と $user2 をインスタンス化し、これら 2 つのオブジェクトをオブジェクト配列 $users に追加しました。次に、foreach ループを使用して $users をループし、各オブジェクトを変数 $user に格納し、オブジェクトの属性値を出力します。
2. for ループを使用してオブジェクト配列を走査する
foreach ループを使用することに加えて、for ループを使用してオブジェクト配列を走査することもできます。サンプル コードは次のとおりです。
class User { public $id; public $name; public $email; } $user1 = new User(); $user1->id = 1; $user1->name = "John"; $user1->email = "john@example.com"; $user2 = new User(); $user2->id = 2; $user2->name = "Smith"; $user2->email = "smith@example.com"; $users = array($user1, $user2); for ($i = 0; $i < count($users); $i++) { echo $users[$i]->id . " | " . $users[$i]->name . " | " . $users[$i]->email . "<br>"; }
上の例では、User クラスを作成し、2 つのオブジェクト $user1 と $user2 をインスタンス化し、これら 2 つのオブジェクトをオブジェクト配列 $users に追加しました。次に、for ループを使用して $users を走査し、オブジェクトの属性値を出力します。
3. array_map 関数を使用してオブジェクト配列を配列に変換する
ループを使用してオブジェクト配列を走査することに加えて、array_map 関数を使用してオブジェクト配列を変換することもできます。通常の配列に変換します。サンプル コードは次のとおりです。
class User { public $id; public $name; public $email; } $user1 = new User(); $user1->id = 1; $user1->name = "John"; $user1->email = "john@example.com"; $user2 = new User(); $user2->id = 2; $user2->name = "Smith"; $user2->email = "smith@example.com"; $users = array($user1, $user2); $array_users = array_map(function($user) { return (array)$user; }, $users); foreach ($array_users as $user) { echo $user['id'] . " | " . $user['name'] . " | " . $user['email'] . "<br>"; }
上の例では、User クラスを作成し、2 つのオブジェクト $user1 と $user2 をインスタンス化し、これら 2 つのオブジェクトをオブジェクト配列 $users に追加しました。 array_map 関数を使用して各オブジェクトを配列に変換し、それを新しい配列 $array_users に割り当てます。最後に、foreach ループを使用して $array_users をループし、配列要素の値を出力します。
概要:
上記は、PHP でオブジェクト配列を読み取るための一般的な方法をいくつか示しています。ループを使用してオブジェクトの配列を反復処理するのは最も一般的な方法の 1 つですが、場合によっては、array_map 関数を使用してオブジェクトの配列を通常の配列に変換することもできます。シナリオごとに異なる方法が適しています。
以上がPHPでオブジェクト配列を読み取る方法の詳細内容です。詳細については、PHP 中国語 Web サイトの他の関連記事を参照してください。