Foros del Web » Programando para Internet » PHP »

borrar un array de una matriz

Estas en el tema de borrar un array de una matriz en el foro de PHP en Foros del Web. Tengo el siguiente array, y la siguiente consulta, si desearia borrar un array copr ejemplo [1] nada mas como lo borro o con que funcion ...
  #1 (permalink)  
Antiguo 25/08/2003, 09:01
Avatar de Chuty  
Fecha de Ingreso: noviembre-2002
Ubicación: el bar de la esquina
Mensajes: 609
Antigüedad: 21 años, 5 meses
Puntos: 2
borrar un array de una matriz

Tengo el siguiente array, y la siguiente consulta, si desearia borrar un array copr ejemplo [1] nada mas como lo borro o con que funcion lo borro.

Código PHP:
Array ( [0] => Array ( [GRUPO_00A ]  => GRUPO A 
                       
[RELACION_O ] => CONJUNTAMENTE CON 
                       
[GRUPO_00B ]  => GRUPO B 
                       
[GRUPO_00C ]  => GRUPO C 
        [
1] => Array ( [GRUPO_00B ]  => GRUPO B 
                       
[RELACION_Y ] => OBLIGATORIO CON 
                       
[GRUPO_00D ]  => GRUPO D 
                       
[GRUPO_00E ]  => GRUPO E ) ) 
bueno desde ya muchas gracias y saludos a todos.
  #2 (permalink)  
Antiguo 25/08/2003, 10:36
Avatar de Manoloweb  
Fecha de Ingreso: enero-2002
Ubicación: Monterrey
Mensajes: 2.454
Antigüedad: 22 años, 2 meses
Puntos: 5
Eso lo puedes lograr con array_splice()

Saludos!!
__________________
Manoloweb
  #3 (permalink)  
Antiguo 25/08/2003, 11:22
Avatar de Chuty  
Fecha de Ingreso: noviembre-2002
Ubicación: el bar de la esquina
Mensajes: 609
Antigüedad: 21 años, 5 meses
Puntos: 2
Gracias manoloweb pero tengo la siguiente pregunta
si mi matriz tiene x cantidad de elementos y deseo borrar o sustituir uno solo de la matriz como lo hago ya que el elemento a borrar lo designo segun una consulta. por ejemplo si mi matriz es

Código PHP:
$ResultmatrizLeg = array (
    array (
        
'GRUPO_00A '  => 'GRUPO A ',
        
'RELACION_O ' => 'CONJUNTAMENTE CON ',
        
'GRUPO_00B '  => 'GRUPO B ',
        
'GRUPO_00C '  => 'GRUPO C '),
  array (
        
'GRUPO_00B '  => 'GRUPO B ',
        
'RELACION_O ' => 'CONJUNTAMENTE CON ',
        
'GRUPO_00F '  => 'GRUPO F ',
        
'GRUPO_00G '  => 'GRUPO G '),
  array (
        
'GRUPO_00C '  => 'GRUPO C ',
        
'RELACION_O ' => 'CONJUNTAMENTE CON ',
        
'GRUPO_00X '  => 'GRUPO X ',
        
'GRUPO_00Z '  => 'GRUPO Z '),

    array (
        
'GRUPO_00D '  => 'GRUPO D ',
        
'RELACION_Y ' => 'OBLIGATORIO CON ',
        
'GRUPO_00D '  => 'GRUPO D ',
        
'GRUPO_00E '  => 'GRUPO E ')); 
y quiero borrar la posicion 2 como seria.
el manual dice:

Código PHP:
$entrada = array("rojo""verde""azul""amarillo");

array_splice($entrada2);      // $entrada vale ahora array("rojo", "verde")
array_splice($entrada1, -1);  // $entrada vale ahora array("rojo", "amarillo")
array_splice($entrada1count($entrada), "naranja");  
                              
// $entrada vale ahora array("rojo", "naranja")
array_splice($entrada, -11, array("negro""marrón")); 
                              
// $entrada vale ahora array("rojo", "verde", 
                              //          "azul", "negro", "marrón") 
desde ya muchas gracias
  #4 (permalink)  
Antiguo 25/08/2003, 11:34
Avatar de Manoloweb  
Fecha de Ingreso: enero-2002
Ubicación: Monterrey
Mensajes: 2.454
Antigüedad: 22 años, 2 meses
Puntos: 5
Fijate en el resultado de esto:

Código PHP:
<?
$ResultmatrizLeg 
= array (
    array (
        
'GRUPO_00A '  => 'GRUPO A ',
        
'RELACION_O ' => 'CONJUNTAMENTE CON ',
        
'GRUPO_00B '  => 'GRUPO B ',
        
'GRUPO_00C '  => 'GRUPO C '),
  array (
        
'GRUPO_00B '  => 'GRUPO B ',
        
'RELACION_O ' => 'CONJUNTAMENTE CON ',
        
'GRUPO_00F '  => 'GRUPO F ',
        
'GRUPO_00G '  => 'GRUPO G '),
  array (
        
'GRUPO_00C '  => 'GRUPO C ',
        
'RELACION_O ' => 'CONJUNTAMENTE CON ',
        
'GRUPO_00X '  => 'GRUPO X ',
        
'GRUPO_00Z '  => 'GRUPO Z '),

    array (
        
'GRUPO_00D '  => 'GRUPO D ',
        
'RELACION_Y ' => 'OBLIGATORIO CON ',
        
'GRUPO_00D '  => 'GRUPO D ',
        
'GRUPO_00E '  => 'GRUPO E '));

PRINT_R ($ResultmatrizLeg);
$indiceaborrar=2;
array_splice($ResultmatrizLeg,$indiceaborrar,1);
PRINT_R ($ResultmatrizLeg);
?>
Creo que es lo que buscas...

Solo cambias el $indiceaborrar
__________________
Manoloweb
  #5 (permalink)  
Antiguo 25/08/2003, 11:36
Avatar de Manoloweb  
Fecha de Ingreso: enero-2002
Ubicación: Monterrey
Mensajes: 2.454
Antigüedad: 22 años, 2 meses
Puntos: 5
Ahhh!!! y recuerda que comienzas desde cero... no desde uno. de tal forma que borrando el 2, estas eliminando el tercer elemento, no el segundo.



Por otro lado... array_splice NO toma en cuenta los indices que tenga el array, sino su posición dentro del mismo.
__________________
Manoloweb

Última edición por Manoloweb; 25/08/2003 a las 11:39
  #6 (permalink)  
Antiguo 25/08/2003, 12:45
Avatar de Webstudio
Colaborador
 
Fecha de Ingreso: noviembre-2001
Ubicación: 127.0.0.1
Mensajes: 3.499
Antigüedad: 22 años, 5 meses
Puntos: 69
No es necesario array_splice();

Con que tan solo hagas :

unset($array[1]);

Estás borrando la segunda entrada en tu arreglo.

Saludos.
__________________
Tutoriales Photoshop | Web-Studio.com.ar
Artículos PHP | ZonaPHP.com
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 19:19.