Foros del Web » Programando para Internet » PHP »

Eliminar índices de array

Estas en el tema de Eliminar índices de array en el foro de PHP en Foros del Web. Buenos días a todos, tengo un problemilla. Pongo el código directamente porque es más claro: @import url("http://static.forosdelweb.com/clientscript/vbulletin_css/geshi.css"); Código PHP: Ver original #Esto es un array ...
  #1 (permalink)  
Antiguo 03/01/2013, 05:09
 
Fecha de Ingreso: abril-2012
Mensajes: 590
Antigüedad: 12 años, 7 meses
Puntos: 58
Eliminar índices de array

Buenos días a todos, tengo un problemilla.

Pongo el código directamente porque es más claro:
Código PHP:
Ver original
  1. #Esto es un array multidimensional como cualquier otro.
  2. $resultado = $classic->consulta($consulta);
  3.  
  4. foreach ($resultado AS $filas) {                                                           
  5.    //En este foreach según ciertas condiciones quiero eliminar algunos índices. Como ejemplo digamos que quiero eliminar el 3
  6.    unset($resultado[3]);                               
  7.    //Si hago aquí un var_dump($resultado) el índice 3 efectivamente está borrando
  8.    $contador++;        
  9. }
  10. //Si hago aquí var_dump($resultado) el índice 3 sigue existiendo

Esto es normal? Es decir, el $resultado de foreach es totalmente independiente del otro por lo que veo.
¿Como puedo hacer para eliminar índices desde dentro del foreach. O al menos que cuando termine pueda hacer un $resultado = $resultado de alguna forma.


Solucionado:
Lo he hecho poniendo $filas como referencia
foreach ($resultado AS &$filas)

No obstante no entiendo por qué debo ponerlo a $filas y no a $resultado.

Un saludo

Última edición por alyciashape; 03/01/2013 a las 05:21 Razón: Solucionado
  #2 (permalink)  
Antiguo 03/01/2013, 07:27
Avatar de abimaelrc
Colaborador
 
Fecha de Ingreso: mayo-2009
Ubicación: En el planeta de Puerto Rico
Mensajes: 14.734
Antigüedad: 15 años, 5 meses
Puntos: 1517
Respuesta: Eliminar índices de array

Muy dificil de saber sin ver exactamente que te devuelve el metodo consulta, pero deduciendo, pienso que es un array y con este ejemplo que hice no me da problemas hacerlo como tu lo estás haciendo
Código PHP:
Ver original
  1. <?php
  2. $array = array('1' => 'one',
  3.                '2' => 'two',
  4.                '3' => 'three');
  5.  
  6. foreach($array as $v){
  7.     unset($array[3]);
  8. }
  9.  
  10. var_dump($array);
__________________
Verifica antes de preguntar.
Los verdaderos amigos se hieren con la verdad, para no perderlos con la mentira. - Eugenio Maria de Hostos
  #3 (permalink)  
Antiguo 03/01/2013, 10:15
Avatar de andresdzphp
Colaborador
 
Fecha de Ingreso: julio-2011
Ubicación: $this->Colombia;
Mensajes: 2.749
Antigüedad: 13 años, 4 meses
Puntos: 793
Respuesta: Eliminar índices de array

Cita:
Iniciado por alyciashape Ver Mensaje
No obstante no entiendo por qué debo ponerlo a $filas y no a $resultado.
Porque $filas hace referencia al elemento del array $resultado directamente.

Tal vez te interese leer esto:

Referencias Explicadas

o este PDF de un aporte de abimaelrc que tenía guardado (en inglés).

http://derickrethans.nl/talks/phparc...es-article.pdf

Cuesta al principio bastante entender este comportamiento.

Saludos.
__________________
Si sabemos como leer e interpretar el manual será mucho más fácil aprender PHP. En lugar de confiar en ejemplos o copiar y pegar - PHP

Etiquetas: Ninguno
Atención: Estás leyendo un tema que no tiene actividad desde hace más de 6 MESES, te recomendamos abrir un Nuevo tema en lugar de responder al actual.
Respuesta




La zona horaria es GMT -6. Ahora son las 21:46.