Zebra Zebra - 5 months ago 20
PHP Question

PHP: Reorder arrays after unset()

There are 2 functions involved.


  1. Search array items for a given string

  2. unset() array item if string not found




$array = array("first", "second", "third", "fourth");

foreach($array as $i=> $string) {
if(stristr($string, "e")) {
unset($array[$i]);
}

}




"second" is the array item with the character 'e'. If its unset, $array[1] would be left empty

$array[0] = "first"
$array[1] = ""
$array[2] = "third"
$array[3] = "fourth"


I want $array[1] to be removed from the array (like in array_shift() ), so that "third" takes the place of "second" and "fourth" the place of "third"

$array[0] = "first"
$array[1] = "third"
$array[2] = "fourth"


thanks

Answer
$array = array_values($array);