weitere Variablen Beispiele

Variable einer anderen Variable zuweisen

Wenn wir einer Variable einen Wert zuweisen, muss das nicht direkt eine Zahl oder ein Text sein. Wir können einer Variable auch einfach den Wert einer anderen Variable zuweisen:

<?php
	$a = 12;
	$z = $a;
	
	echo $z;
?>

Beide Variablen, also $a und $z, haben ab Zeile 4 den Wert „12“.

Ein einfacher(?) Tausch

Nun was kniffliges: Wir haben zwei Variablen, $a und $b und die Werte werden am Ende des Skripts ausgegeben.

<?php
	$a = 100;
	$b = 200;
	
	//hier wird getauscht
	
	echo $a." - ".$b;
?>

Ausgabe:

100 – 200

Das ist soweit klar, bis auf Zeile 5. Dabei handelt es sich um einen Kommentar, die komplette Zeile wird von PHP ignoriert. Mit Kommentaren kannst du dir Notizen in deine Skripte schreiben, aber dazu später mehr.
Nun möchte ich, dass $a den Wert von $b erhält und $b den Wert von $a ohne an den Zeilen 2,3 und 7 was zu ändern. Ein direkter Tausch funktioniert nicht:

<?php
	$a = 100;
	$b = 200;
	
	//hier wird getauscht
	$a = $b;
	$b = $a;
	
	echo $a." - ".$b;
?>

Ausgabe:

200 – 200

In Zeile 6 erhält $a den Wert von $b (200) und überschreibt damit den Wert 100. Was wir brauchen ist eine dritte Variable, die temporär den Wert von $a festhält:

<?php
	$a = 100;
	$b = 200;
	
	//hier wird getauscht
	$temp = $a;
	$a 	  = $b;
	$b    = $temp;
	
	echo $a." - ".$b;
?>

Zeile 6: $temp erhält den Wert 100
Zeile 7: $a erhält den Wert 200
Zeile 8: den vorigen Wert von $a haben wir in $temp festgehalten und können ihn jetzt $b zuweisen; Der Tausch ist vollzogen.

Variablen miteinander addieren

Wir können Variablen Werte nicht nur ausgeben, sondern auch manipulieren. Dazu ein kleines Beispiel:

<?php
	$zahl1 = 12;
	$zahl2 = 8;
	$ergebnis = $zahl1 + $zahl2;
	
	echo $ergebnis;
?>

Zeile 2 und 3 sind leicht, es werden zwei Variablen angelegt und jeweils ein Wert zugewiesen, doch was passiert in Zeile 4?

  1. es wird eine Variable „ergebnis“ angelegt
  2. der Variable „ergebnis“ wird ein Wert zugewiesen (alles was auf der rechten Seite vom „=“ steht)

Doch anstelle einer Zahl oder eines Texts, stehen dort zwei Variablen und ein + Zeichen. Vielleich hast du es dir schon gedacht: Auf der rechten Seite werden die beiden Werte der Variablen zahl1 und zahl2 miteinander addiert und dieses Ergebnis wird dann der Variablen „ergebnis“ zugewiesen. Eigentlich ganz einfach, teste es mal mit anderen Zahlen und mit anderen Rechenoperationen wie subtrahieren (-), multiplizieren (*) und dividieren (/) aus.

hier geht's weiter...



Kommentare


Erstmal: Klasse Anleitung. Werd mich weiter durcharbeiten.

Aber eine Sache verstehe ich nicht. Bei "Ein einfacher(?) Tausch" funktioniert es nicht, wenn direkt

$a = $b;
$b = $a;

eingetippt wird. Auch anders rum nicht.
Aber warum kann sich dann $a = $b; den Wert holen, obwohl davor

$temp = $a

steht, wenn sich doch schon $b = $a; nicht den Wert holen konnte?
Schließlich steht $a = $b; genauso hinter $temp = $a; wie bei dem Versuch des direkten Tauschs $b = $a; hinter $a = $b; steht. ;-)

Kurz gesagt: Warum funktioniert der direkte Tausch nicht?


Wir können nicht direkt tauschen, da der Wert der Variable sonst überschrieben wird. Wenn ich der Variable "a" den Wert von "b" gebe, ist der ursprüngliche Wert von "a" verloren. Deshalb zwischenspeichern wir den ursprünglichen Wert von "a" in der Variable "temp" :)

Kommentar schreiben

Kommentar

Hilfe:

<strong>fettgedruckt</strong> => fettgedruckt

<em>kursiv</em> => kursiv

<a href="http://wordpress.lernenhoch2.de">Link</a> => Link

[code]<?php echo 'hello world'; ?>[/code]

*

Feedback Formular