Kleines Array Problem

xloouch

Erfahrenes Mitglied
Hallo zusammen

Hab ein kleines Array-Problem, welches mit Array Flip nicht lösbar ist.

Hier mal den Array:

Version 1:
PHP:
Array
(
    [autorun] => Array
        (
            [0] => preferences
        )

    [quickstart] => Array
        (
            [0] => preferences
            [1] => admin
        )

    [shortcut] => Array
        (
            [0] => preferences
            [1] => admin
        )
)

Nun will ich den Umkehren

Also dass der Array danach so aussieht:

Version 2:
PHP:
Array
(
    [preferences] => Array
        (
            [0] => autorun
            [1] => quickstart
            [2] => shortcut
        )
    [admin] => Array
        (
            [0] => quickstart
            [1] => shortcut
        )
)


Hat jemand von euch eventuell solch eine Funktion zur Hand, oder kann mir jemand sagen, wo ich solch ne Funktion finde?

Google und PHP.net hat nichts wirklich brauchbares ausgesprucht, abgesehen von dem, was ich will. (also aus Version 2 mach Version 1).


Vielen Dank im voraus für eure Hilfe
 
Ist relativ einfach zu lösen mir einer doppelten Schleife
PHP:
$array = array( 'autorun' => array('preferences'),
                'quickstart' => array('preferences', 'admin'),
                'shortcut' => array('preferences', 'admin'));

//Hier die Lösung
foreach($array as $value => $keys){
    foreach($keys as $key){
        $new[$key][] = $value;
    }
}

var_dump($new);
 
@yaslaw

Danke für die schnelle Hilfe.. Eigentlich ganz einfach.. Hätte ich auch selbst darauf können kommen.

Hier noch die Funktion die ich daraus gebastelt habe:


PHP:
function array_invert($arr){
	$flipped = array();
	foreach($arr as $value => $keys){
		foreach($keys as $key){
			$flipped[$key][]=$value;
		}
	}
	return $flipped;
}



THREAD CLOSED
 
Zurück