Foros del Web » Programando para Internet » PHP »

eliminar un elemento de una matriz

Estas en el tema de eliminar un elemento de una matriz en el foro de PHP en Foros del Web. Hola .... Necesito eliminar un elemento de una matriz según su valor ó su llave (key). Gracias...
  #1 (permalink)  
Antiguo 17/05/2005, 14:35
 
Fecha de Ingreso: mayo-2004
Mensajes: 159
Antigüedad: 13 años, 6 meses
Puntos: 0
eliminar un elemento de una matriz

Hola ....

Necesito eliminar un elemento de una matriz según su valor ó su llave (key).

Gracias
  #2 (permalink)  
Antiguo 17/05/2005, 14:37
Avatar de maralbust  
Fecha de Ingreso: febrero-2004
Ubicación: Santiago
Mensajes: 578
Antigüedad: 13 años, 9 meses
Puntos: 0
queeeeeeeeeeeeeee????


salu2
__________________
..:: NADA SE PIERDE SOLO SE TRANSFORMA ::..
  #3 (permalink)  
Antiguo 17/05/2005, 14:50
Avatar de dwaks  
Fecha de Ingreso: agosto-2002
Ubicación: Panamá
Mensajes: 962
Antigüedad: 15 años, 4 meses
Puntos: 15
Mira este ejemplo:
Código PHP:
<?php
$variable 
= array("uno"=>"valor de uno","dos"=>"valor de dos");
print_r($variable);
unset(
$variable["uno"]);
print_r($variable);
?>
unset elimina el elemento que indiques ya que unset elimina las variables que tu desees.

Alli veras que primero te da todo lo que tiene el array que son 2 elementos luego elimino el key "uno" y muestro denuevo y ya no esta solo queda el "dos"
  #4 (permalink)  
Antiguo 17/05/2005, 16:50
 
Fecha de Ingreso: mayo-2004
Mensajes: 159
Antigüedad: 13 años, 6 meses
Puntos: 0
gracias...

cómo puedo eliminar los valores repetidos en un arreglo????
  #5 (permalink)  
Antiguo 18/05/2005, 02:33
 
Fecha de Ingreso: febrero-2004
Ubicación: España. Madrid
Mensajes: 454
Antigüedad: 13 años, 9 meses
Puntos: 0
una pregunta pq
si tenemos
$variable = array("uno"=>"valor de uno","dos"=>"valor de dos");

y ponemos
print_r($variable); imprime esto: "Array ( [uno] => valor de uno [dos] => valor de dos ) "

en cambio si ponemos:
echo $variable imprime "Array"
  #6 (permalink)  
Antiguo 18/05/2005, 03:18
Avatar de JavierB
Colaborador
 
Fecha de Ingreso: febrero-2002
Ubicación: Madrid
Mensajes: 25.052
Antigüedad: 15 años, 10 meses
Puntos: 771
Cita:
Iniciado por guntin_java
gracias...

cómo puedo eliminar los valores repetidos en un arreglo????
Con la función array_unique()

http://www.php.net/manual/es/function.array-unique.php

Saludos,
  #7 (permalink)  
Antiguo 18/05/2005, 09:19
Avatar de dwaks  
Fecha de Ingreso: agosto-2002
Ubicación: Panamá
Mensajes: 962
Antigüedad: 15 años, 4 meses
Puntos: 15
Cita:
Iniciado por cyborg
una pregunta pq
si tenemos
$variable = array("uno"=>"valor de uno","dos"=>"valor de dos");

y ponemos
print_r($variable); imprime esto: "Array ( [uno] => valor de uno [dos] => valor de dos ) "

en cambio si ponemos:
echo $variable imprime "Array"
Bueno la funcion print_r la utilizo para ver la estructura del array, en el ejemplo que di era mas claro entender y ver como se elimina un elemento del array.

Cuando imprimes $variable solamente como es un array el php te dira que lo es y por eso aparece ARRAY pero si quieres ver su contenido puedes poner $variable[0] y de esta forma le pides que muestre una posicion del array especificamente.
  #8 (permalink)  
Antiguo 18/05/2005, 09:23
Avatar de sanjo  
Fecha de Ingreso: enero-2005
Mensajes: 404
Antigüedad: 12 años, 11 meses
Puntos: 0
oye comos se escribe un valor


haber tengo ordenda una matriz, y la quiero mostrar, el tema es que tengo:

Array ( [3] => Array ( [unidades] => 3 [codigo] => instala_domicilio ) [5] => Array ( [unidades] => 2 [codigo] => servi_06 ) [4] => Array ( [unidades] => 1 [codigo] => portatil_01 ) [1] => Array ( [unidades] => 1 [codigo] => impre_01 ) [2] => Array ( [unidades] => 1 [codigo] => foto_01 ) )


esto en la matriz, ya que la ordene por el valor unidades, es para hacer un top de ventas, quiero pones en en un td, el valor del primer registro, por ejemplo

codigo unidades
1.-matriz[1][1] matriz[1][2]
2.-matriz [2][1] matriz [2][2]
etc......


ahhhhh y otra cosa, como se puede borrar el contenido de una matriz, es decir desjar todos los campos a cero, es para cuando entre cada vez, no se me haga una matriz enorm de grande, gracias.....
__________________
¿Quiere echarte unas risas y ver cosas espectaculares?
Nomeessentado.com
  #9 (permalink)  
Antiguo 18/05/2005, 09:38
Avatar de dwaks  
Fecha de Ingreso: agosto-2002
Ubicación: Panamá
Mensajes: 962
Antigüedad: 15 años, 4 meses
Puntos: 15
Pero si vas a eliminar el contenido eso significa que la matriz estara vacia totalmente jeje para eso elimina la matriz y cuando la necesites denuevo la creas:
unset($matriz);

Con respecto a lo otro que preguntas no entendi muy bien tu explicacion.
  #10 (permalink)  
Antiguo 18/05/2005, 09:41
Avatar de sanjo  
Fecha de Ingreso: enero-2005
Mensajes: 404
Antigüedad: 12 años, 11 meses
Puntos: 0
gracias, me parece que es lo que buscaba, una pregunta mas, haber tengo la matriz ordenada, como saco el primer valor???'
__________________
¿Quiere echarte unas risas y ver cosas espectaculares?
Nomeessentado.com
  #11 (permalink)  
Antiguo 18/05/2005, 09:49
Avatar de dwaks  
Fecha de Ingreso: agosto-2002
Ubicación: Panamá
Mensajes: 962
Antigüedad: 15 años, 4 meses
Puntos: 15
Bueno emulando tu array me puse a ver que deseabas y llegue a esta conclusion espero sea eso:
Código PHP:
<?php
$matriz 
= Array (
=> Array ( "unidades" => 3"codigo" => "instala_domicilio" ),
=> Array ( "unidades" => 2"codigo" => "servi_06" ),
=> Array ( "unidades" => 1"codigo" => "portatil_01" ),
=> Array ( "unidades" => 1"codigo" => "impre_01" ),
=> Array ( "unidades" => 1"codigo" => "foto_01" ) );

$key array_keys($matriz);
echo 
$matriz[$key[0]]["unidades"];
?>
Alli obtuve los key porque trabajas el array multidimensional por keys y no por posiciones, asi que obtuve el key, coloque el primero en el array y llame las unidades.

Prueba y epsero sea eso lo que preguntabas.
  #12 (permalink)  
Antiguo 18/05/2005, 11:13
 
Fecha de Ingreso: agosto-2002
Ubicación: Colón - Entre Rios - Argentina
Mensajes: 647
Antigüedad: 15 años, 4 meses
Puntos: 8
Para armar esa tbla que necesitabas, deberas usar un bucle, preferentemente foreach()
http://www.php.net/foreach
Mira este ejemplo:
Código PHP:
$matriz = Array ( 
=> Array ( "unidades" => 3"codigo" => "instala_domicilio" ), 
=> Array ( "unidades" => 2"codigo" => "servi_06" ), 
=> Array ( "unidades" => 1"codigo" => "portatil_01" ), 
=> Array ( "unidades" => 1"codigo" => "impre_01" ), 
=> Array ( "unidades" => 1"codigo" => "foto_01" ) );
foreach(
$matriz as $numero => $sub_array) {
extract($var_arrayEXTR_PREFIX_ALL"sub");
echo 
"Para la clave numero: $numero , tengo creadas las variables unidades (que vale ($unidades) y codigo que vale $codigo";

Podrias leer esto
http://www.php.net/extract

Saludos
  #13 (permalink)  
Antiguo 18/05/2005, 13:47
 
Fecha de Ingreso: febrero-2004
Ubicación: España. Madrid
Mensajes: 454
Antigüedad: 13 años, 9 meses
Puntos: 0
Cita:
Iniciado por dwaks
Bueno la funcion print_r la utilizo para ver la estructura del array, en el ejemplo que di era mas claro entender y ver como se elimina un elemento del array.

Cuando imprimes $variable solamente como es un array el php te dira que lo es y por eso aparece ARRAY pero si quieres ver su contenido puedes poner $variable[0] y de esta forma le pides que muestre una posicion del array especificamente.
gracias, no sabia que tenia que escribir uno la estructura de la variable y el otro el tipo.
por cierto.. la gestion de arrays es un tanto particular.. al menos viniendo de C :p

por cierto acabo de ver en php.net la descripcion de print_r y tiene guasa......

"print_r -- Imprime información legible para humanos sobre una variable "
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 08:59.