======[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}}