Wie die Scheibe ein array von Schlüssel, nicht ausgeglichen?
PHP-Funktion array_slice() gibt die Abfolge der Elemente von offset wie diese:
//sample data
$a = array('a','b','c',100=>'aa',101=>'bb',102=>'cc');
//outputs empty array because offset 100 not defined
print_r(array_slice($a,100));
Aktuelle Funktion Argumente:
array_slice ( $array, $offset, $length, $preserve_keys)
Brauche ich so etwas wie dieses:
array_slice ( $array, **$key**, $length, $preserve_keys)
Dass sich die Ausgaben nach oben print_r:
array (
100 => aa,
101 => bb,
102 => cc
)
Du musst angemeldet sein, um einen Kommentar abzugeben.
Finden Sie den offset der Schlüssel
array_search()
zu suchen, der durch die Schlüssel, die abgerufen werden könnenarray_keys()
.array_search()
zurückFALSE
wenn der angegebene Schlüssel (100
) ist nicht vorhanden im array ($a
).Drucke:
Alternative Lösung
Wenn Sie wollen slice array mit Schlüsseln, die für die Elemente, die Sie wollen zu bekommen, könnten Sie die folgende benutzerdefinierte Funktion zu tun:
Verwendung:
Ergebnis:
$keys
ein optionales argument? Es scheint seltsam, dass diese Funktion verarbeitet so viele defensive Fällen bekommen keine keys, immer ein array ohne keys bekommen... ein leeres array?array_search
beantworten, weil es einfacher ist, fügen Sie weitere Tasten in dieser Weise. Aber Sie konnten nur beantwortetarray_intersect_key($array, array_fill_keys($keys, '1'))
ohne (unnötige) Funktion.