There are 2 functions involved.
- Search array items for a given string
- 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"
question from:
https://stackoverflow.com/questions/3753597/php-reorder-arrays-after-unset 与恶龙缠斗过久,自身亦成为恶龙;凝视深渊过久,深渊将回以凝视…