Mailinglisten-Archive |
Am Donnerstag, 9. Dezember 2004 10:22 schrieb Sebastian Mendel: > Ralf Müller wrote: > >>davon möchte ich nur die ersten N Elemente haben. Leider produziert > >>array_slice($arr,0,3): > >> > >>Array ( [0] => > >>[1] => > >>[2] => 148.4 + > >>[3] => > >>) > >> > >>Kennt jemand vielleicht eine Einfachere Möglichkeit, als die Schlüssel > >> und die Werte zu getrennt zu 'slicen' und danach wieder zusammen zu > >> bauen. Mir erscheint das zu kompliziert. Hätte gedacht es gibt in PHP > >> schon ein Funktioen, die Array zerteilt und dabei die Schlüssel - Wert > >> beziehung erhält. > > > > Hab dass jetzt so gelöst: > > > > { > > $k = array_keys($orders); $v = array_values($orders); > > $k = array_slice($k,0,3); $v = array_slice($v,0,3); > > foreach ( $k as $i => $thisk ) > > { > > $newOrders[$thisk] = $v[$i]; > > } > > $orders = $newOrders; > > } > > > > sollte auch mit mehrfachen Werten zurechtkommen, denke ich. > > > > Geht das auch kürzer? > > 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; > } > > oder: > > foreach ( array_slice( array_keys($orders), 0, 3) as $key ) > { > $newOrders[$key] = $orders[$key]; > } Die letzte Version ist Klasse. die nehm ich. danke! ralf
php::bar PHP Wiki - Listenarchive