PHP не является объектно-ориентированным языком.Это гибридный язык.
Массивы используются везде, потому что они значительно мощнее, чем в других языках (в частности, в Java).И за кулисами и массивы, и объекты используют одну и ту же словарную реализацию в PHP.
Если вы хотите объективировать массивы, оберните их в:
$array = new ArrayObject($array, ArrayObject::ARRAY_AS_PROPS);
Или вы можете просто ввести массив1: 1 в объект значения:
$obj = (object) $array;
И обратно:
$array = (array) $obj;
В любом случае, они работают одинаково во многих контекстах (foreach
работать над ними легко).