Wie mach ich aus 3 Variablen eine?
Martin
- php
0 David Tibbe0 stefan0 wahsaga
0 TomIRL0 Philip
Hi :)
Ich fang grad erst an mit PHP, aber ich hab ein Problem aus 3 Variablen eine zu machen... wenn ich
$name1 = "ich";
$name2 = "lerne";
$name3 = "PHP";
Und das ist alles in die Variable $name ... wie geht das? Hab's so probiert:
$name = $name1.=$name2.=$name3;
Naja, es fehlen in diesem Beispiel die Leerzeichen zwischen den Wörtern, aber es klappt sowieso nicht.
Was mache ich falsch?
Martin
Hallo
Du kennst http://de3.php.net/manual/de/language.operators.string.php?
Grüße
David
Hi David,
Wat den mit Dir los?
Zu wenig getrunken?
Bist doch sonst nicht so unhöfflich!
Viele Grüße TomIRL
Hallo Tom,
Zu wenig getrunken?
Da ich kein alkoholliebender mensch bin, bin ich wohl eher mit dem falschen Fuß augestanden ;)
In der Tat war das vielleicht etwas kurz, aber auf der Seite steht schon alles Wissenswerte drauf.
Bist doch sonst nicht so unhöfflich!
Nunja, ich werde mich das nächste Mal anstrenge :)
Aber danke für das "sonst höflich"
Viele Grüße TomIRL
Ebenso viele Grüße
David
Hallo
Und um mich gleich zu bessern: Man vergesse nicht die Variante:
$name1 = "Hallo,";
$name2 = "du";
$name3= "da";
$name = "$name1 $name2 $name3!";
Grüße
David
Halihallo TomIRL
Zu wenig getrunken?
Hilft das? - Wo is mei Capirinha! ;-)
Bist doch sonst nicht so unhöfflich!
Unhöflich? - Das war nicht unhöflich, sondern Konstruktiv und meiner Meinung nach die
einzig wirklich auf lange Sicht hilfreiche Antwort in diesem Thread. Was hat Martin
davon, wenn man ihm die Lösung einfach so vor den Latz knallt? - Denn zu lernen gelernt
hat er damit nicht und wird das nächste mal wieder ins Forum gestürmt kommen, als sich
mit der Dokumentation befasst zu haben (was IMHO wesentlich sinnvoller ist).
Zudem nehmt ihr dem armen Martin jedwelchen Spass und Eigeninitiative an der Sache. Es
macht wesentlich mehr Sinn, wenn man das Problem selber lösen kann (und der Lerneffekt
ist zudem grösser), z. B. anhand einer Dokumentation.
So, David, meiner Meinung nach hast du genau richtig gepostet :-)
Viele Grüsse
Phi*fighting-for-RTFM*lipp
ich würd ein array benutzen!
$name[1] = "ich";
$name[2] = "lerne";
$name[3] = "PHP";
$name = $name[1]." ".$name[2]." ".$name[3];
oder
foreach ( $name as $value )
{
$Name .= $value." ";
}
echo $Name;
hi stefan,
ich würd ein array benutzen!
nix dagegen einzuwenden, aber wenn schon dann würde ich statt dieser verkettungs-zuweisung
$name = $name[1]." ".$name[2]." ".$name[3];
vorschlagen, gleich die dafür vorgesehene array-funktion implode() mit einem space als trenner zu verwenden.
;-)
nix für ungut,
wahsaga
Moin Martin,
Ich hab meinen Sozialen Tag heute!
Probiers mal so:
Das entscheidende sind Strings sind in "" zu setzen!
Auch bei Vergleichen etc. immer schön "" oder auch'' benutzen.
$name1 = "ich";
$name2 = "lerne";
$name3 = "PHP";
$name = "$name1 "."$name2 "."$name3";
print ("$name");
Geht auch so:
$name1 = "ich ";
$name2 = "lerne ";
$name3 = "PHP ";
$name = "$name1"."$name2"."$name3";
print ("$name");
Viel Spaß beim üben!
habe d'ehre
Moin Martin,
Ich hab meinen Sozialen Tag heute!
Probiers mal so:
Das entscheidende sind Strings sind in "" zu setzen!
Auch bei Vergleichen etc. immer schön "" oder auch'' benutzen.
Geht auch so:
$name1 = "ich ";
$name2 = "lerne ";
$name3 = "PHP ";
$name = "$name1"."$name2"."$name3";
print ("$name");
Du willst jetzt nicht ernsthaft behaupten, dass die Variablen zwischen "" notiert werden *muessen*.
Sein Fehler liegt schlichtweg an den = nach . fuer die Verkettung.
$name = $name1.=$name2.=$name3;
.= kaeme nur in Betracht bei
$name = $name1;
$name .= $name2;
$name .= $name3;
Du willst jetzt nicht ernsthaft behaupten, dass die Variablen zwischen "" notiert werden *muessen*.
Nö Strings gehören zwischen die "" sonst nichts!
Hab ich aber auch so geschrieben oder?
Sein Fehler liegt schlichtweg an den = nach . fuer die Verkettung.
$name = $name1.=$name2.=$name3;
Das ist wohl wahr!
Halihallo TomIRL
Du willst jetzt nicht ernsthaft behaupten, dass die Variablen zwischen "" notiert werden *muessen*.
Nö Strings gehören zwischen die "" sonst nichts!
Hab ich aber auch so geschrieben oder?
Ja, ist aber schlecht. Wenn die Variablen (und das müssen bei weitem keine Strings sein)
in Quotes gesetzt werden, muss der Parser das jedesmal durchforsten und die Variablen-
namen durch deren Werte ersetzen, was beim einfachen concat (nur '.' ohne '"') nicht
gemacht werden müsste. Das In-Quotes-Schreiben von Variablen macht nur bedingt Sinn und
bedingt z. B. hier:
$name = "$name1 $name2 $name3";
somit kann man auf den langsamen Operator '.' gänzlich verzichten und auf das
schnellere parsen von Variablen in Quotes zurückgreifen. Eine Kombination derbeiden
wie du es vorschlägst ist nicht performant.
So ist dies jedenfalls bei Perl, ich nehme jedoch stark an, dass dies auch bei PHP so
ist.
In http://forum.de.selfhtml.org/archiv/2003/5/46801/#m255467 hatte ich das schonmal
ausführlicher gepostet, aber wie gesagt: ich _nehme an_, dass dies in PHP gleich ist,
_weiss_ es jedoch nicht mit Sicherheit.
Viele Grüsse
Philipp
Hallo Philipp
ausführlicher gepostet, aber wie gesagt: ich _nehme an_, dass dies in PHP gleich ist,
_weiss_ es jedoch nicht mit Sicherheit.
Du hast Recht ich habs mal eben aus dem Handgelenk geschrieben!
Deshalb der Flüchtigkeitsfehler!
Viele Grüße aus Berlin
Halihallo TomIRL
ausführlicher gepostet, aber wie gesagt: ich _nehme an_, dass dies in PHP gleich ist,
_weiss_ es jedoch nicht mit Sicherheit.
Du hast Recht ich habs mal eben aus dem Handgelenk geschrieben!
Deshalb der Flüchtigkeitsfehler!
Wieso? - Es funktioniert ja so, wie du es vorschlägst :-)
Ich wollte nur darauf hinweisen, dass dies anders schneller und sogar einfacher zu
bewerkstelligen ist; das war keine Kritik, sondern eine "Bemerkung" oder "Feature
Request".
Viele Grüsse
Philipp
Hi :)
Hallo
$name1 = "ich";
$name2 = "lerne";
$name3 = "PHP";Und das ist alles in die Variable $name ... wie geht das? Hab's so probiert:
$name = $name1.=$name2.=$name3;
Was mache ich falsch?
$name = $name1.$name2.$name3;
bzw. mit Leerzeichen:
$name = $name1." ".$name2." ".$name3;
viel Spass noch...
Philip