Ver Mensaje Individual
  #5 (permalink)  
Antiguo 23/09/2005, 10:21
Tigervlc
 
Fecha de Ingreso: mayo-2003
Mensajes: 527
Antigüedad: 20 años, 11 meses
Puntos: 3
Otra opción y sin usar unset(), por si os interesa, es con la función array_filter() (supongo que habrán más formas de hacerlo):

Código PHP:
<?php
$array
[0] = "jose";   // Eliminarlo
$array[1] = "mateo"
$array[2] = "manuel"
$array[3] = "pepon"// Eliminarlo
$array[4] = "kata"

function 
filtrar($elemActual) {
    return (
$elemActual != "jose" && $elemActual != "pepon");
}

$array array_filter($array"filtrar"); 
$array array_values($array);
print_r($array);
?>
array_filter() va aplicando una función callback de filtro llamada filtrar() a cada elemento del array uno por uno. Si la condición del filtro es 1 o true, vuelve a almacenar el valor en su posición. Si es 0 o false, lo elimina (pero no elimina la posición). Como sigue manteniendo los mismos índices, se usa al igual que en la solución anterior la función array_values() que reagrupa los elementos con valor.