phpbar.de logo

Mailinglisten-Archive

[php] Array in Scheiben (lecker Käse )

[php] Array in Scheiben (lecker Käse )

Sebastian Mendel lists at sebastianmendel.de
Don Dez 9 10:22:14 CET 2004


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];
}


-- 
Sebastian Mendel

www.sebastianmendel.de www.warzonez.de www.tekkno4u.de www.nofetish.com
www.sf.net/projects/phpdatetime        www.sf.net/projects/phptimesheet


php::bar PHP Wiki   -   Listenarchive