Foros del Web » Programando para Internet » PHP »

Sacar/eliminar valores de un array...

Estas en el tema de Sacar/eliminar valores de un array... en el foro de PHP en Foros del Web. Estimados, antes que nada, un saludo para todos Les comento que me surgió la necesidad de tener que sacar valores de un array, existe alguna ...
  #1 (permalink)  
Antiguo 06/03/2006, 10:42
 
Fecha de Ingreso: enero-2005
Ubicación: Salta - Argentina
Mensajes: 322
Antigüedad: 19 años, 3 meses
Puntos: 7
Sacar/eliminar valores de un array...

Estimados, antes que nada, un saludo para todos

Les comento que me surgió la necesidad de tener que sacar valores de un array, existe alguna funcion incorporada en PHP que permita realizar esto???

Espero contar con sus aportaciones, Muchas gracias...
  #2 (permalink)  
Antiguo 06/03/2006, 10:48
O_O
 
Fecha de Ingreso: enero-2002
Ubicación: Santiago - Chile
Mensajes: 34.417
Antigüedad: 22 años, 3 meses
Puntos: 129
Pero tu que array tienes o dispones?

En principio .. podrías hechar un vistazo a la documentación oficial sobre array de PHP .. se usan igual que en otro lenguajes. Se accede por su indice o la recorres completa con algún bucle ..

http://www.php.net/manual/en/language.types.array.php

En PHP tienes por ejemplo el tipo de blucle:

foreach() para recorrer un array completo sin problemas y sin tener que obtener el n° de elementos del array como sucede si usas un for()

www.php.net/foreach

Un saludo,
  #3 (permalink)  
Antiguo 06/03/2006, 10:51
Avatar de AmericoOnL  
Fecha de Ingreso: abril-2002
Mensajes: 43
Antigüedad: 22 años
Puntos: 0
Re

Hola, tu pregunta es muy generica, realmente los metodos para extraer elementos de un arreglo son variados, dependiendo de si el arreglo es numericamente indexado o asociativo, deberias ver la lista de funciones en la pagina php net

Saludos
  #4 (permalink)  
Antiguo 06/03/2006, 11:00
 
Fecha de Ingreso: enero-2005
Ubicación: Salta - Argentina
Mensajes: 322
Antigüedad: 19 años, 3 meses
Puntos: 7
Muchas gracias por la velocidad de sus respùestas...

tengo un array simple, en donde tengo valores textuales...


ejemplo:

$vector=("uno","dos","tres","cuatro");

Lo que necesito es sacar alguno de los vlores, por el valor textual del array si es posible...

Para esta tarea estoy desarrollandu una funcion:


Código PHP:
function sacar_elem($vector,$elemento){
    
$b=true;
        
$i=0;
    
    while (
$b AND $i<=count($vector)){
        if (
$vector[$i]==$elemento){
                
$b=false;
            for(
$j=$i+1$j<=count($vector);$j++){
            
#remuevo los datos...
            
$vector[$j-1]==$vector[$j];
            }
        }
    }


con esta funcion, puedo sacar un lemento del vector, peroooo... si aplico la funcion en el vector de ejemplo, el mismo quedaria algo asi... (si quiero sacar el valor 3)


$vector=("uno","dos","cuatro","cuatro");


La pregunta concreta seria ¿cómo hago para reducir la cantidad del vector a -1?

dado a que el algoritmo que tengo saca solamente 1 elemento??

Porfis, espero que puedan ayudarme...

Saludos cordiales
  #5 (permalink)  
Antiguo 06/03/2006, 11:16
O_O
 
Fecha de Ingreso: enero-2002
Ubicación: Santiago - Chile
Mensajes: 34.417
Antigüedad: 22 años, 3 meses
Puntos: 129
Bueno .. parece ser que el termino "sacar" que empleas se refiere a "eliminar/borrar" un elemento del array ..

En ese caso podrías usar unset()
www.php.net/unset

unset($array['elemento']);


Un saludo,
  #6 (permalink)  
Antiguo 06/03/2006, 11:20
Avatar de JorgitoAlfajor  
Fecha de Ingreso: enero-2006
Mensajes: 152
Antigüedad: 18 años, 3 meses
Puntos: 1
También podés usar usar la función array_diff() para eliminar más de un elemento. Por ejemplo, si tenés el arreglo $vector=("uno","dos","tres","cuatro") y queres eliminar los elementos "dos" y "tres" por ejemplo, lo podés hacer así:
Código PHP:
<?
$vector
= array("uno","dos","tres","cuatro");
$borrar = array("dos","tres");
$vector_nuevo array_diff($vector$borrar);
?>
Saludos.
__________________
¿Se me entiende la letra?
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.
Tema Cerrado




La zona horaria es GMT -6. Ahora son las 11:50.