Zebra Zebra - 11 months ago 77
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")) {


"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"


$array = array_values($array);