Вам не нужно дважды зацикливаться.Вы можете просто перебрать список людей и использовать данный ключ для доступа к соответствующему объекту:
$objects = ['Car', 'House', 'Money'];
$people = ['John', 'Peter', 'Mary'];
foreach ($people as $i => $person) {
echo $i > 1 ? ' and ' : '', $person, ' has ', $objects[$i];
}
Демо: https://3v4l.org/Fa45t
Обратите внимание, что это предполагает наличие двух массивовимеют одинаковый размер.Вы можете использовать array_key_exists
(или isset
в этом случае), чтобы убедиться, в противном случае.
Обновлено после вашего редактирования.Это относится к случаю, когда людей больше, чем объектов:
$objects = ['Car', 'House', 'Money'];
$people = ['John', 'Peter', 'Mary', 'Paul'];
foreach ($people as $i => $person) {
if (!array_key_exists($i, $objects)) {
break;
}
echo ($i > 0 ? ',<br>' : ''), $person, ' has ', $objects[$i];
}
Демо: https://3v4l.org/Hd3e0