3v4l.org

run code in 300+ PHP versions simultaneously
<?php class UserService { public function userFactory() { $user=new User(); $user->id='test_id'; return $user; } } class Conversation { public $participants=array(); public function getParticipants() { return $this->participants; } } class User { public $id; } $u1=new User(); $u2=new User(); $conversation=new Conversation(); $conversation->participants[]=$u1; $conversation->participants[]=$u2; $userService=new UserService(); foreach($conversation->getParticipants() as &$participant) { $participant=$userService->userFactory(); } print_r($conversation);

preferences:
55.73 ms | 402 KiB | 5 Q