Foros del Web » Programando para Internet » PHP »

Borrar elemento Array desde un indice

Estas en el tema de Borrar elemento Array desde un indice en el foro de PHP en Foros del Web. buenos dias hola a todos nuevamente, como estan espero muy bien. tengo el siguiente arreglo @import url("http://static.forosdelweb.com/clientscript/vbulletin_css/geshi.css"); Código PHP: Ver original $arreglo = array ( ...
  #1 (permalink)  
Antiguo 02/06/2012, 10:54
Avatar de informacionsys  
Fecha de Ingreso: mayo-2011
Ubicación: Bogota D.C
Mensajes: 793
Antigüedad: 12 años, 11 meses
Puntos: 76
Borrar elemento Array desde un indice

buenos dias


hola a todos nuevamente, como estan espero muy bien.

tengo el siguiente arreglo


Código PHP:
Ver original
  1. $arreglo = array("valor1"=>1
  2.                "nombres"=>"Elciro Cepeda",
  3.                "cedula"=>"111111111",
  4.                "usuario"=>"ecepeda",
  5.                "password"=>"a44444"        
  6.                );

como puedo borrar los elementos desde el indice cedula, es decir que quede

Código PHP:
Ver original
  1. $arreglo = array("valor1"=>1
  2.                "nombres"=>"Elciro Cepeda"
  3.                );

Consegui hacer esto:

Código PHP:
Ver original
  1. $borrar = array("cedula"=>"","usuario"=>"","password"=>"");
  2. $arreglo_final= array_diff_key($arreglo,$borrar );

Pero no es la idea porque entonces si agrego un elemento mas despues de password me tocaria tocar el codigo para agregar el elemento al arreglo borrar.
  #2 (permalink)  
Antiguo 02/06/2012, 11:02
Avatar de Nemutagk
Colaborador
 
Fecha de Ingreso: marzo-2004
Ubicación: México
Mensajes: 2.633
Antigüedad: 20 años
Puntos: 406
Respuesta: Borrar elemento Array desde un indice

mmm, para eso existe la función unset...

Código PHP:
Ver original
  1. $array = array(
  2.     'indice1' => 'valor1',
  3.     'indice2' => 'valor2',
  4.     'indice3' => 'valor3',
  5.     'indice4' => 'valor4',
  6.     'indice5' => 'valor5',
  7.     'indice6' => 'valor6',
  8.     'indice7' => 'valor7',
  9.     'indice8' => 'valor8',
  10.     'indice9' => 'valor9',
  11.     'indice10' => 'valor10',
  12.     );
  13.  
  14. unset($array['indice5']);
  15.  
  16. echo '<pre>';
  17. var_dump($array);
  18. echo '</pre>';
__________________
Listo?, tendría que tener 60 puntos menos de IQ para considerarme listo!!!
-- Sheldon Cooper
http://twitter.com/nemutagk
PD: No contestaré temas vía mensaje personal =)
  #3 (permalink)  
Antiguo 02/06/2012, 11:22
Avatar de informacionsys  
Fecha de Ingreso: mayo-2011
Ubicación: Bogota D.C
Mensajes: 793
Antigüedad: 12 años, 11 meses
Puntos: 76
Respuesta: Borrar elemento Array desde un indice

hola

gracias por tu ayuda, pero como te indico tendria que definir que indices quiero eliminar y la idea es despues del x indice...

pero igual gracias.
  #4 (permalink)  
Antiguo 02/06/2012, 15:29
 
Fecha de Ingreso: septiembre-2005
Mensajes: 840
Antigüedad: 18 años, 7 meses
Puntos: 84
Respuesta: Borrar elemento Array desde un indice

Asi a bote pronto:

Código PHP:

$heEncontradoCedula 
false ;

foreach(
$arreglo as $index => $value)
{
     if (
$index == 'cedula')
          
$heEncontradoCedula true ;

     if (
$heEncontradoCedula == true)
          unset(
$arreglo[$index]) ;

Tambien se me ocurre esta:

Código PHP:

$heEncontradoCedula 
false ;

foreach(
$arreglo as $index => $value)
{
     if (
$index == 'cedula')
          
$heEncontradoCedula true ;

     if (
$heEncontradoCedula == false)
          
$arreglo_nuevo[] = $value ;
}

$arreglo $arreglo_nuevo ;
unset(
$arreglo_nuevo) ; 
Mira a ver si asi te funciona lo que quieres.

Ahora mismo no caigo si hay maneras mas optimizadas , a estas horas ya no rijo muy bien, aun asi,yo usaria antes la primera que la segunda.
__________________
» Presupuesto Pagina Web
  #5 (permalink)  
Antiguo 02/06/2012, 19:56
Avatar de Nemutagk
Colaborador
 
Fecha de Ingreso: marzo-2004
Ubicación: México
Mensajes: 2.633
Antigüedad: 20 años
Puntos: 406
Respuesta: Borrar elemento Array desde un indice

o.O pues cuenta los indices que tienes...

Código PHP:
Ver original
  1. <?php
  2.  
  3. $indice_a_borrar = 4;
  4.  
  5. $array = array(
  6.     'indice1' => 'valor1',
  7.     'indice2' => 'valor2',
  8.     'indice3' => 'valor3',
  9.     'indice4' => 'valor4',
  10.     'indice5' => 'valor5',
  11.     'indice6' => 'valor6',
  12.     'indice7' => 'valor7',
  13.     'indice8' => 'valor8',
  14.     'indice9' => 'valor9',
  15.     'indice10' => 'valor10',
  16.     );
  17.  
  18. $numIndices = count($array);
  19. if ($indice_a_borrar < $numIndices) {
  20.      $idIndice = 1;
  21.      foreach($array as $indice => $valor) {
  22.           if ($idIndice == $indice_a_borrar) {
  23.                unset($array[$indice];
  24.           }
  25.  
  26.           $idIndice++;
  27.      }
  28. }else {
  29.      echo 'debes indicar un indice dentro del rango...';
  30. }
__________________
Listo?, tendría que tener 60 puntos menos de IQ para considerarme listo!!!
-- Sheldon Cooper
http://twitter.com/nemutagk
PD: No contestaré temas vía mensaje personal =)

Etiquetas: elemento, indice, usuarios
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 22:23.