Nicht genutzte optionale Parameter überspringen?
Baba
- php
php.net sagt zu array_sclice
array array_slice ( array $array , int $offset [, int $length [, bool $preserve_keys = false ]] )
Ich würde gerne $length nicht angeben, womit der ganze Rest des Arrays betroffen ist. Allerdings würde ich gerne $preserve_keys = TRUE verwenden. Bisher habe ich das so gemacht:
$Data = array(
1980 => 3,
1990 => 4,
2000 => 5,
2010 => 29,
2020 => 42,
);
$clip_from = 2000;
$data_length = count($Data);
$key_clip_from = array_search($clip_from, array_keys($Data));
$Data = array_slice($Data, $key_clip_from, $data_length - $key_clip_from, true);
Gehts einfacher?
Cheers,
Baba
Moin!
Gehts einfacher?
Laut eines Kommentars mit NULL als Länge (Quelle, ungetestet)
Das ist allerdings kein pauschal gültiges Vorgehen. NULL ist kein Ersatzwert für "nimm den Default", sondern bedeutet explizit NULL und funktioniert nur dann, wenn der Default-Wert auch NULL ist. Was hier anscheinend der Fall ist.
In der PHP-Doku fehlt an dieser Stelle leider, welcher Wert für diesen optionalen Parameter als Standard verwendet wird. Wäre das angegeben, könnte man den Funktionsaufruf mit eben diesem Standard-Wert auch explizit vollziehen, ohne etwas am Aufruf zu ändern. Der letzte Parameter hat seine Default-Angabe in der Doku stehen.
Ist vermutlich der Klassiker des Doku-Fails: Wie man der History entnehmen kann, ist der letzte Parameter erst seit PHP 5.0.2 mit dabei, d.h. auch erst seit dieser Version ist die Doku aktualisiert. Vorher gab es nur einen einzigen optionalen Parameter und deshalb nicht das Verlangen, diesen zu überspringen. Und derjenige, der den neuen Parameter dokumentiert hat, hat nicht dran gedacht, den Default-Wert des vorhergehenden Parameters zu recherchieren und zu ergänzen.
- Sven Rautenberg
[latex]Mae govannen![/latex]
In der PHP-Doku fehlt an dieser Stelle leider, welcher Wert für diesen optionalen Parameter als Standard verwendet wird. Wäre das angegeben, könnte man den Funktionsaufruf mit eben diesem Standard-Wert auch explizit vollziehen, ohne etwas am Aufruf zu ändern. Der letzte Parameter hat seine Default-Angabe in der Doku stehen.
Die deutsche Version sollte man ohnehin nur dann nehmen, wenn es sich gar nicht vermeiden läßt, sie hinkt teilweise mehrere Release-Versionen hinterher. in der englsichen ist es drin: http://php.net/manual/en/function.array-slice.php
Stur lächeln und winken, Männer!
Kai
var jQuery = $(hit);
Tach!
In der PHP-Doku fehlt an dieser Stelle leider, welcher Wert für diesen optionalen Parameter als Standard verwendet wird.
Nö, fehlt nicht, fehlt nur in der deutschen Übersetzung.
Ist vermutlich der Klassiker des Doku-Fails: Wie man der History entnehmen kann, ist der letzte Parameter erst seit PHP 5.0.2 mit dabei, d.h. auch erst seit dieser Version ist die Doku aktualisiert. Vorher gab es nur einen einzigen optionalen Parameter und deshalb nicht das Verlangen, diesen zu überspringen. Und derjenige, der den neuen Parameter dokumentiert hat, hat nicht dran gedacht, den Default-Wert des vorhergehenden Parameters zu recherchieren und zu ergänzen.
Der Default-Wert ist auch für den letzten Parameter nicht uninteressant.
dedlfix.