Empresas
Empleos
  • Sobre nosotros
  • Soluciones
    • Publicación de vacantes
      Publica tu vacante y recibe candidatos calificados en 48h.
    • Evaluación de candidatos
      500+ pruebas técnicas y psicológicas, más anti-fraude.
    • Headhunting
      Búsqueda ejecutiva a la medida de principio a fin.
    • Nómina + EOR
      Dispersión de nómina y EOR en más de 15 países de LATAM.
  • Precios
  • Empleos

0

247
Vistas
Eliminar elementos de la matriz recursiva de abajo hacia arriba en PHP

Dada la siguiente matriz:

 array( 0 => array( 0 => 56, 1 => array( 0 => 57, 1 => 58, 2 => 59, ), 2 => 60 ), 1 => array( 0 => 61, 1 => array( 0 => 62, 1 => array( 0 => 63, 1 => 64 ) ) ) )

¿Cómo podría proceder a eliminar elementos de esa matriz a partir de los elementos más profundos? Mis elementos son ID en una base de datos y las restricciones clave me impiden eliminar padres si tienen hijos...

Busqué algo usando RecursiveIterator pero no hay solución hasta ahora...


EDITAR

En realidad, no es necesario obtener un algoritmo específico, una recursión estándar hará el trabajo

over 4 years ago · Santiago Trujillo
1 Respuestas
Responde la pregunta

0

Puede visitar las hojas solo con el modo RecursiveIteratorIterator y RecursiveIteratorIterator::LEAVES_ONLY y luego invertir la matriz resultante:

 $iterator = new RecursiveIteratorIterator( new RecursiveArrayIterator($ids), RecursiveIteratorIterator::LEAVES_ONLY ); $ids = []; foreach ($iterator as $id) { // You can put elements directly in the beggining of an array // or reverse array later. // array_unshift($ids, $id); $ids[] = $id; } $ids = array_reverse($ids);

Aquí está la demostración de trabajo .

over 4 years ago · Santiago Trujillo Denunciar
Responde la pregunta
Encuentra empleos remotos

¡Descubre la nueva forma de encontrar empleo!

Top de empleos
Top categorías de empleo
Empresas
Publicar vacante Precios Comercial
Legal
Términos y condiciones Política de privacidad
© 2026 PeakU Inc. All Rights Reserved.
Andres GPT
Recomiéndame algunas ofertas
Necesito ayuda