2016-03-20 16 views
-1

Ich habe ein assoziatives Array wie folgt:Extrakt Scheibe von Objekten aus assoziativem Array

$array = array(
    'id1' => 'value1', 
    'id2' => 'value2', 
    'id3' => 'value3', 
    'id4' => 'value4', 
    'id5' => 'value5', 
); 

Und ich will ein Stück von Objekten aus dem Array extrahieren: so sagt ich zunächst zwei Objekte will, wird das Ergebnis sein:

$array = array(
    'id1' => 'value1', 
    'id2' => 'value2', 
); 

Und Beachten Sie, dass ich den Wert der IDs nicht wissen

array_slice($array, 0, 2) ist nicht das gewünschte Ergebnis als Schlüssel 0 werden nd 1.

Gibt es einen dynamischen Weg, ohne sie alle durchlaufen zu müssen?

+2

Der vierte Parameter ist 'bool $ preserve_keys = false' –

Antwort

1

Vierter Parameter von array_slice Funktion ist bool $preserve_keys = false.

So Ihr Anruf ist:

array_slice($array, 0, 2, true); 
1

array_slice() nimmt eine weiteres optionales boolean Argument wie in der Dokumentation des PHP gezeigt.

array array_slice (array $array , int $offset [, int $length = NULL 
[, bool $preserve_keys = false ]]) 

preserve_keys

beachten, daß() array_slice wird neu ordnen und die numerischen Array-Indizes standardmäßig zurückgesetzt. Sie können dieses Verhalten ändern, indem Sie preserve_keys auf TRUE setzen.

Also, das könnte es sein.