array values als keys nutzen
Roger
- php
-1 Andavos0 Roger
1 Fabian St.0 Roger
2 Tom
moin!
ich habe einen array, bei dem ich die keys gleich der values setzen möchte.
also aus
Array
(
[0] => foo1
[1] => foo2
)
soll
Array
(
[foo1] => foo1
[foo2] => foo2
)
werden.
gibt es dafür ne extra funktion, oder muss ich doch das ganze mit einer foreach-schleife umwandeln?
gruß.
roger.
Hallo,
10 Sekunden im PHP Manual:
array_combine -- Creates an array by using one array for keys and another for its values
$array = array("hallo","welt");
$array = array_combine($array, $array); //PHP5 only
Sonst hier schauen für weiter Infos zu Arrays:
http://de2.php.net/manual/de/ref.array.php
Grüße
Andavos
moin!
Hallo,
10 Sekunden im PHP Manual:
array_combine -- Creates an array by using one array for keys and another for its values
lies doch bitte meine frage genauer durch, bevor du "als erster" postest.
//PHP5 only
ich nutze php4
Sonst hier schauen für weiter Infos zu Arrays:
http://de2.php.net/manual/de/ref.array.php
da sehe ich generell als erstes nach, bevor ich fragen stelle. die übersicht brachte mich jedoch zu keinem ergebnis...
gruß.
roger.
Hallo Roger,
lies doch bitte meine frage genauer durch, bevor du "als erster" postest.
//PHP5 only
ich nutze php4
das hast du aber in deinem Posting nicht geschrieben ...
Grüße aus Nürnberg
Tobias
moin!
//PHP5 only
ich nutze php4
das hast du aber in deinem Posting nicht geschrieben ...
stimmt, deswegen habe ich es ja auch an dieser stelle erwähnt ;)
gruß.
roger.
Hallo,
»»lies doch bitte meine frage genauer durch, bevor du "als erster" postest.
stimmt, deswegen habe ich es ja auch an dieser stelle erwähnt ;)
Dann sag es nächstes mal etwas freundlicher, und tut mir leid das ich meine Kristallkugel nicht benutzt habe, die ist leider defekt :(
Grüße
Andavos
moin!
Dann sag es nächstes mal etwas freundlicher, und tut mir leid das ich meine Kristallkugel nicht benutzt habe, die ist leider defekt :(
deine art war auch nicht grad die freundlichste...
gruß.
roger.
Hi!
ich habe einen array, bei dem ich die keys gleich der values setzen möchte.
also aus
Array
(
[0] => foo1
[1] => foo2
)soll
Array
(
[foo1] => foo1
[foo2] => foo2
)
werden.
gibt es dafür ne extra funktion, oder muss ich doch das ganze mit einer foreach-schleife umwandeln?
Mir ist jetzt auf Anhieb keine solche Funktion bekannt, aber was spricht gegen ein solch einfaches Konstrukt wie
$a = array('foo', 'bar', 'test');
$b = array();
foreach($a as $key => $value) {
$b[$value] = $value;
}
print_r($b);
Ergibt dann folgende Ausgabe:
Array
(
[foo] => foo
[bar] => bar
[test] => test
)
Grüße,
Fabian St.
moin!
$a = array('foo', 'bar', 'test');
$b = array();foreach($a as $key => $value) {
$b[$value] = $value;
}print_r($b);
exakt so habe ich es ja.
ich dachte nur, dass sowas auch mit einer bestehenden funktion schon irgendwie gibt...
gruß.
roger.
--
ich widersprech mir immer selber.
aber das passiert mir gott sei dank nie.
Hello,
ich habe einen array, bei dem ich die keys gleich der values setzen möchte.
also aus
Array
(
[0] => foo1
[1] => foo2
)soll
Array
(
[foo1] => foo1
[foo2] => foo2
)
werden.
gibt es dafür ne extra funktion, oder muss ich doch das ganze mit einer foreach-schleife umwandeln?
Das Problem steckt in der Behandlung doppelter Values.
Wenn Du nämlich array_flip() benutzt,
http://de3.php.net/manual/de/function.array-flip.php
dann verschwinden einige Elemente, wenn es vorher doppelte Values gab.
Wenn Du dich also entschieden hast, was damit zu tun ist, dann wäre vielleicht doch eine eigene Funktion die beste Lösung.
function array_val2key($_array,&<_error_array>)
{
$_equal = array();
$_error_array = array();
foreach($_array as $key => $val)
{
if (isset($_equal[$val])
{
$_error_array[$key] = $val;
}
else
{
$_equal[$val] = $val;
}
}
return $_equal
}
Ungetestet...
Harzliche Grüße vom Berg
esst mehr http://www.harte-harzer.de
Tom