$alles=$1+$2+$3
timo
- php
Hallo Ihr Lieben,
ich habe drei einzelne arrays, die ich zum schluss in eins packen muß, einmal zum ausdrucken, zum zweiten als weiterbehandlung zur Datenbankabfrage, nur funzt es bei nicht.
Es handelt sich um Text und nicht um Zahlen, also keine Addition
danke timo
Hallo timo,
Zu deiner Überschrift: $1,$2,$3 sind keine gültigen Variablennamen, ich
vermute mal, du meinstest sowas wie $alle=$feld1+$feld2+$feld3 und möchtest,
dass die Arrays ($feld1...) hintereinandergehängt werden.
$feld1=Array("Erdbeer","Banane","Kiwi");
$feld2=Array("grün","braun");
sollen zu einem Feld mit ("Erdbeer","Banane","Kiwi","grün","braun") werden.
Wenn das richtig ist, dann suchst du nach array_merge();
http://www.php-center.de/de-html-manual/function.array-merge.html
Die Addition von Feldern habe ich neugierigerweise gleich mal Ausprobiert,
(kannte ich noch gar nicht) sie macht ja 'fast' was du willst.
Dabei passiert einfach folgendes: Deine Arrays-Indices fangen alle bei 0
an. (echo $feld[0]; // -> Erdbeer ) Die Addition von Feldern ersetzt jetzt aber,
wenn Positionen mehrfach vorkommen, den Wert, so dass jeweils der letzte
drin stehen bleibt:
Feld 1 Feld 2 Ergebnis
[0] Erdbeer grün grün
[1] Banane braun braun
[2] Kiwi Kiwi
Grund: Es kann nur ein Element mit dem Index 0 (1,2...) geben.
Die array_merge() Funktion numeriert die Felder um, damit das nicht passiert.
Zumindest wenn die Felder numerische Indices haben.
( Unter http://www.php-center.de/de-html-manual/language.types.array.html
findest du, wie Arrays auch nicht numerisches Indices haben können. )
Gruss,
Carsten
hallo carsten,
danke für deinen tipp, aber diese funktion gibt es erst in php4,
ich bin jedoch gezwungen auf php3 zu schreiben, naja was solls,
ich schaue mal noch ein wenig und dann werden wir sehen,
danke
timo
hallo timo!
SelfDenken ;-)
function array_merge($array1,$array2)
{
for($cnt=0;$cnt<sizeof($array2);$cnt++) {
$array1[sizeof($array1)+$cnt+1]=$array2[$cnt];
}
return $array1;
}
hab ich jetzt zwar nicht getestet, soll aber nur ein loesungsansatz sein.
Gruß
Thomas (der P)
<Menschelei>Entschuldige Stefan, dass ich gleich eine Loesung gepostet habe *g*</Meschelei>