Mailinglisten-Archive |
Hi, On Thu, Dec 09, 2004 at 10:22:14AM +0100, Sebastian Mendel wrote: > achso, du willst einfach die ersten drei Werte des Arrays haben? ich > hatte das irgendwie ganz anders verstanden ... die ersten drei wo was > drinne steht ... > > geth kürzer: ;-) > > $counter = 0; > $new_orders = array(); > foreach ( $orders as $key => $val ) > { > $new_orders[$key] = $val; > if ( 3 === ++$counter ) break; > } ich hab mir mal array_slice fuer assoziative Arrays nachgebaut, ist zwar nicht so schoen kurz, kann dafuer aber auch mehr ;-). --------------------------------schnipp----------------------------- // Extrahiert einen Ausschnitt eines assoziativen Arrays // Verhalten von $offset und $length wie bei array_slice() function array_slice_assoc($array, $offset, $length = 0) { if ( (!is_array( $array )) || (!is_int( $offset + 0)) || (!is_int( $length +0 )) ) { return FALSE; } reset ($array); $max = count( $array ); $new_array = array(); if ( $offset < 0 ) { $offset = $max + $offset; } if ( $length == 0 ) { $length = $max; } elseif ( $length < 0 ) { $length = $max + $length; } else { $length = $offset + $length; } $i = 0; foreach( $array as $key => $value ) { if ( ($i >= $offset) ) { $new_array[$key] = $value; } if ( ++$i == $length ) { break; } } return $new_array; } // End function array_slice_assoc --------------------------------schnapp----------------------------- -- Gruss Jens
php::bar PHP Wiki - Listenarchive