Tengo una pregunta sobre ArrayObject. Quería usar array_slice en una clase ArrayObject y no pude. ¿Hay alguna manera de hacerlo, sin necesidad de escribir un método de "corte" para la clase que implementa ArrayObject?array_slice (u otras funciones array_ *) en ArrayObject
Respuesta
Tener una clase que envuelve funciones PHP matriz no es tan mala idea. Hará que el código sea mucho más limpio.
echo $myAry->slice(10, 5)->reverse()->join(", ");
Simplemente como un lenguaje normal, ya sabes.
Siempre se puede trabajar en la copia matriz:
$array = $object->getArrayCopy();
// modify $array as needed, e.g. array_slice(....)
$object = new ArrayObject($array);
Hay algún momento en el pasado era la idea de hacer todas las funciones que aceptan matrices (o probablemente muchos de ellos) para aceptar ArrayObject también. Pero no sé qué tan lejos ha ido eso y si todavía se sigue. Creo que ArrayObject es más una cuestión de comportamiento que reemplazar el arreglo nativo en PHP.
pregunta relacionada: PHP Array and ArrayObject
Esto es fácil de implementar, pero está mal en la memoria. Si eso es importante, valdrá la pena simplemente implementar su propia clase similar a ArrayObject, donde tendrá acceso a los datos de la matriz privada, de modo que pueda manipularla directamente. – Matthew
Debo admitir que no tengo ni idea acerca de las funciones internas de ArrayObject. – hakre
Estaba buscando evitar el uso de getArrayCopy() debido al tamaño de la matriz (+ 400k elementos). – pocesar
- 1. Array PHP y ArrayObject
- 2. ArrayObject, getIterator();
- 3. array_slice en una matriz multidimensional?
- 4. Array_splice actuando como array_slice?
- 5. ¿Hay forma de mantener el delimitador mientras se usa php explode u otras funciones similares?
- 6. ¿Hay algún LinkedHashSet concurrente en JDK6.0 u otras bibliotecas?
- 7. array_slice con desplazamiento negativo en matrices enormes
- 8. estilo de código - 'esconde' funciones dentro de otras funciones
- 9. ajax html vs respuestas xml/json - rendimiento u otras razones
- 10. ¿Qué funcionalidad obtienes gratis con Functors u otras clases de tipos?
- 11. Eliminando un elemento específico usando array_splice/array_slice en PHP
- 12. Diferencia entre ArrayIterator, ArrayObject y Array en PHP
- 13. jQuery Plugin: Obtener el "este" objeto dentro de otras funciones
- 14. Cambiar el sonido (u otras) Preferencias del Sistema en Mac OS X
- 15. Requisitos de seguimiento en múltiples proyectos con JIRA (u otras herramientas)
- 16. ¿Deben colocarse las funciones F # en módulos, clases u otra estructura?
- 17. ¿ArrayObject de PHP tiene un equivalente de in_array?
- 18. ¿Cómo hacer un proxy HTTP muy simple usando werkzeug u otras estructuras de python?
- 19. ¿Puede la memoria caché (u otras variables) cambiar durante la ejecución del código?
- 20. ¿Es posible llamar a Git u otras herramientas de línea de comandos desde un script Thor?
- 21. Eliminación de un patrón al final de una cadena usando sed u otras herramientas bash
- 22. R: ¿Yahoo/Bing u otras alternativas a Google Earth para geocodificar?
- 23. TypedChoiceField u ChoiceField en Django
- 24. media Calcular grupo (u otras estadísticas de resumen) y asignan a los datos originales
- 25. ¿Cómo detectar el timbre de la alarma u otras aplicaciones usando el altavoz?
- 26. ¿Qué herramientas (gratuitas u otras) encuentra útiles para desarrollar y depurar C#/C++?
- 27. El enlace de Rails 3 ('»', url) no funcionará si es » u otras entidades
- 28. Para un objeto, ¿puedo obtener todas sus subclases usando reflexión u otras formas?
- 29. Python, PowerShell u otro?
- 30. GM_log y otras funciones de GM no funcionan en los scripts de Greasemonkey
Debería dejar un enlace a '_array': http://stereofrog.com/blok/on/080605 – hakre
que se ve muy bien @hakre. @stereofrog, ¿cómo se debe acceder a los datos dentro del método slice() sin duplicar datos? – pocesar