public static function fromArray($data) { $settings = new TransactionOptions(); foreach ($data as $key => $value) { if (property_exists(get_class($settings), $key)) { if (is_array($value)) { if ($key == "single") { $settings->{$key} = Single::fromArray($value); } if ($key == "recurringBills") { $settings->{$key} = RecurringBills::fromArray($value); } } else { $settings->{$key} = $value; } } } return $settings; }