======[PHP] array_extract_sub_item()======
Aus einem mehrdimensionalen Array einen Subitem extrahieren
Ab PHP 5.5 ist meine Funktion veraltet, da PHP diese nun selber anbietet
[[http://php.net/manual/en/function.array-column.php|array_column()]]
===== Code =====
/**
* Extrahieren ein Subitem aus einem mehrstufigen Array. Der Schlüssel wird beibehalten
* bis PHP 5.5
* @author stefan.erb(at)erb-software.com
* @deprecated
* @param Array Array> Ein mehrstufiger Array
* @param String Schlüssel des zu extrahierenden Item
* @return Array Node>
*/
function array_extract_sub_item($array, $key){
foreach($array as $index => $item) $retArray[$index] = $item[$key];
return $retArray;
}
Und noch eine erweiterte Methode.
a) Es wird auch ein Array von Objekten akzeptiert
b) Als neuer Schlüssel kann ein Feld des Subarrays angegeben werden
/**
* Extrahieren ein Subitem aus einem mehrstufigen Array. Der Schlüssel wird beibehalten
* @param Array Array> Ein mehrstufiger Array
* @param String Schlüssel des zu extrahierenden Item
* @param Optional String Name des Indexfeldes
* @return Array Node>
*/
function array_extract_sub_item($array, $itemKey, $keyKey = false){
$retArray = array();
foreach($array as $index => $item){
// ggf Objekte in Array konvertieren
$item = (array) $item;
// Bestimmen was der neue Index ist
if($keyKey !== false) $index = $item[$keyKey];
// Wert mit entsprechendem abfüllen
$retArray[$index] = $item[$itemKey];
}
return $retArray;
}
{{tag>PHP Function Array}}