Logo Questions Linux Laravel Mysql Ubuntu Git Menu
 

PHP: Reorder arrays after unset()

Tags:

arrays

php

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" 
like image 648
Zebra Avatar asked Sep 20 '10 16:09

Zebra


1 Answers

$array = array_values($array); 
like image 175
Matthew Avatar answered Oct 08 '22 16:10

Matthew