On Thu, 2009-06-25 at 17:18 -0400, Eddie Drapkin wrote: > On Thu, Jun 25, 2009 at 5:00 PM, Ashley > Sheridan<ash@xxxxxxxxxxxxxxxxxxxx> wrote: > > On Thu, 2009-06-25 at 17:52 -0300, Martin Scotta wrote: > >> Hi all > >> > >> I have this in a simple routine... > >> > >> for($i=0, $if=count($array); $i<$if; ++$i) > >> if( $array[$i] == '' ) > >> { > >> array_splice( $array, $i, 1); > >> > >> --$i; > >> --$if; > >> } > >> > >> My question: is this the better way to do it? > >> > >> -- > >> Martin Scotta > >> > > array_filter() will return an array without any elements that equate to > > false (empty strings, 0, false) although you can use the optional > > argument to specify your own function which should return true if you > > want to keep an element, or false if you want to ditch it, if you need > > to eliminate only empty strings. > > > > > > Thanks > > Ash > > www.ashleysheridan.co.uk > > > > > > -- > > PHP General Mailing List (http://www.php.net/) > > To unsubscribe, visit: http://www.php.net/unsub.php > > > > > > I'd just do > > foreach($array as &$v) { > if($v === false || $v === null || $v === 0) { > unset($v); > } > } > > > I wouldn't do anything more complicated >.> Erm, $array = array_filter($array); is a lot less complicated than foreach($array as &$v) { if($v === false || $v === null || $v === 0) { unset($v); } } and as it's a built-in function, likely faster. Thanks Ash www.ashleysheridan.co.uk -- PHP General Mailing List (http://www.php.net/) To unsubscribe, visit: http://www.php.net/unsub.php