# La clase ArrayObject

(PHP 5, PHP 7, PHP 8)

## Introducción

Esta clase permite a los objetos funcionar como arrays.

## Sinopsis de la Clase

class ArrayObject implements IteratorAggregate, ArrayAccess, Serializable, Countable {
/* Constantes */
const integer STD_PROP_LIST = 1;
const integer ARRAY_AS_PROPS = 2;
/* Métodos */
public __construct(mixed `$input` = array(), int `$flags` = 0, string `$iterator_class` = "ArrayIterator")
public append(mixed `$value`): void
public asort(): void
public count(): int
public exchangeArray(mixed `$input`): array
public getArrayCopy(): array
public getFlags(): int
public getIterator(): ArrayIterator
public getIteratorClass(): string
public ksort(): void
public natcasesort(): void
public natsort(): void
public offsetExists(mixed `$index`): bool
public offsetGet(mixed `$index`): mixed
public offsetSet(mixed `$index`, mixed `$newval`): void
public offsetUnset(mixed `$index`): void
public serialize(): string
public setFlags(int `$flags`): void
public setIteratorClass(string `$iterator_class`): void
public uasort(callable `$cmp_function`): void
public uksort(callable `$cmp_function`): void
public unserialize(string `$serialized`): void
}

## Constantes predefinidas

## Banderas de ArrayObject

`ArrayObject::STD_PROP_LIST`

  Las propiedades del objeto tienen un comportamiento normal cuando se acceden como listado (var_dump, foreach, etc.).

`ArrayObject::ARRAY_AS_PROPS`

  Se puede acceder a las entradas como propiedades (lectura y escritura).

## Historial de cambios

Versión | Descripción
--- | ---
5.3.0 | Se implementó Serializable.

## Tabla de contenidos

- ArrayObject::append — Añade un valor
- ArrayObject::asort — Ordena las entradas por valor
- ArrayObject::__construct — Construir un nuevo objeto Array
- ArrayObject::count — Obtener el número de propiedades públicas en la clase ArrayObject
- ArrayObject::exchangeArray — Intercambia el array por otro
- ArrayObject::getArrayCopy — Crea una copia de la clase ArrayObject
- ArrayObject::getFlags — Obtiene las flags de comportamiento
- ArrayObject::getIterator — Crear un nuevo iterador desde una instancia ArrayObject
- ArrayObject::getIteratorClass — Obtiene el nombre de clase iterador para ArrayObject
- ArrayObject::ksort — Ordena las entradas por clave
- ArrayObject::natcasesort — Ordena un array usando un algoritmo orden natural
- ArrayObject::natsort — Ordena entradas usando un algoritmo de orden natural
- ArrayObject::offsetExists — Devuelve si el índice solicitado existe
- ArrayObject::offsetGet — Devuelve el valor del índice especificado
- ArrayObject::offsetSet — Establece el valor en el índice especificado
- ArrayObject::offsetUnset — Destruye el valor para el índice especificado
- ArrayObject::serialize — Serializar un ArrayObject
- ArrayObject::setFlags — Establece las flags de comportamiento
- ArrayObject::setIteratorClass — Establece el nombre de clase iterador para ArrayObject
- ArrayObject::uasort — Ordena las entradas con una función de comparación definida por el usuario y mantiene asociación de claves
- ArrayObject::uksort — Ordena las entradas por clave usando una función de comparación definida por el usuario
- ArrayObject::unserialize — Deserializar el objeto ArrayObject