¿Tiene PHP una estructura de datos establecida?

Soy nuevo en PHP, y no puedo entender esta pregunta básica. ¿PHP tiene algún tipo de conjunto o objeto de lista? Algo así como una matriz, pero con la capacidad de agregar o quitar dinámicamente cualquier cantidad de objetos de ella.

Sí, podría usar el objeto de matriz y las funciones de matriz .

Básicamente, puede hacer crecer dinámicamente una matriz utilizando la función array_push o la $arrayName[] = ... (donde arrayName es el nombre de su matriz).

Simplemente use una matriz php, no existe una matriz de ‘tamaño fijo’ en PHP, por lo que debería estar bien con ellos.

Arrays de PHP como una mezcla de matrices ordenadas indexadas por un número y una tabla de búsqueda hash. Puede buscar cualquier elemento mediante un índice de cadena, pero los elementos también tienen un orden definido.

Como mencionó un “Objeto de conjunto ” en el título de la pregunta (es decir, si necesita que los objetos no se repitan dentro del conjunto), eche un vistazo a SplObjectStorage (php 5.3+).

Si está buscando una estructura de datos de Set sin elementos repetidos, parece que a partir de PHP 7 el SPL agrega soporte para una estructura de datos de conjunto .

Puedes usar Set from Nspl . Es compatible con operaciones de conjunto básico que toman otros conjuntos, matrices y objetos transitables como argumentos:

 $set = set(1, 2); $set->add('hello'); $set[] = 'world'; $set->delete('hello'); $array = [1, 2, 3]; $intersection = $set->intersection($array); $anotherSet = Set::fromArray([1, 2, 3]); $difference = $set->difference($anotherSet); $iterator = new \ArrayIterator([1, 2, 3]); $union = $set->union($iterator); $isSubset = $set->isSubset([1, 2, 'hello', 'world']); $isSuperset = $set->isSuperset([1, 2]);