Einen Integer oder Float erhöhen/verringern (Thema: PHP Beispiele)

Einfache mathematische Operationen bei Integern und Floats, um deren Werte zu erhöhen oder zu verringern

1. Um einen beliebigen Wert erhöhen/verringern bzw. Addition/Subtraktion

Um einen Integer oder einen Float $x um einen beliebigen Wert $y zu erhöhen, kann entweder die Schreibweise $x = $x + $y, oder $x += $y verwendet werden. Dabei ist die letztgenannte nur eine kürzere Form der ersten. Beide erzeugen das selbe Ergebnis. $y muss nicht zwangsweise eine Variable sein, ein „normaler” Wert ist ebenfalls erlaubt. Ebenso muss $y bei der ersten Schreibweise nicht am Ende stehen. $x = $y + $x und $x = $x + $y sind demnach identisch. Weitere Werte (etwa $x = $x + $y + $z + $a) sind erlaubt.

Beispiel:

PHP-Code
<?php
	// Zahl initialisieren
	$a = 0;

	// zwei Mal um jeweils 5 erhoehen
	$a = $a + 5; // erste Schreibweise
	$a += 5; // zweite, kurze Schreibweise

	// ausgeben
	var_dump($a);
?>

HTML-Code: Ausgabe
int(10)


Die Schreibweisen zum Verringern um einen bestimmten Wert sind äquivalent zur Addition:

PHP-Code
<?php
	$a = 0;

	$a = $a - 5;
	$a -= 5;

	var_dump($a);
?>

HTML-Code: Ausgabe
int(-10)


Vorsichtig muss man bei der verkürzten Schreibweise sein, dann $x += $y ist nicht das selbe wie $x =+ $y: Letzteres weist $x den Wert +$y zu, ersteres erhöht $x um $y (analoges gilt für $x =- $y):

PHP-Code
<?php
	$a = 100;
	$b = 100;
	$a =+ 1;
	$b =- 1;
	var_dump($a, $b); // 1, -1
?>

HTML-Code: Ausgabe
int(1)
int(-1)


2. Spezielle Syntax für exakt +1 / -1

Sehr häufig muss man eine Zahl um exakt eins erhöhen. Für diese wiederkehrende Aufgabe wurde eine spezielle, sehr kurze Syntax eingeführt, nämlich das doppelte Pluszeichen:

PHP-Code
<?php
	$a = 0;

	// darf sowohl vor als auch hinter der Zahl stehen
	$a++;
	++$a;

	var_dump($a);
?>

HTML-Code: Ausgabe
int(2)


Analog kann ein doppeltes Minuszeichen verwendet werden, um den Wert um exakt eins zu verringern:

PHP-Code
<?php
	$a = 0;

	$a--;
	--$a;

	var_dump($a);
?>

HTML-Code: Ausgabe
int(-2)


Der Unterschied zwischen $a++ und ++$a ist, dass bei Verwendung von ++$a immer $a zuerst um eins erhöht wird und erst danach für weitere Operationen zur Verfügung steht. Im nächsten Beispiel werden $a und $b jeweils mit 0 initialisiert, dann über $a++ und ++$b um eins erhöht und zugleich per echo ausgegeben. Während bei $a++ nur eine 0 ausgegeben wird, erzeugt ++$b die Ausgabe „1”, denn $b wird zuerst um eins erhöht und erst danach ausgegeben.

PHP-Code
<?php
	$a = 0;
	$b = 0;
	echo($a++."\n");
	echo(++$b."\n");
?>

HTML-Code: Ausgabe
0
1


3. Mit einem beliebigen Wert multiplizieren

Die Syntax zum Multiplizieren von Werten ist vergleichbar zu den zuvor im Rahmen der Addition und Subtraktion vorgestellten Schreibweisen:

PHP-Code
<?php
	$a = 1;

	// lange und kurze Schreibweise, beide fuehren zum selben Ergebnis
	$a = $a * 6;
	$a *= 6;

	var_dump($a);
?>

HTML-Code: Ausgabe
int(36)


Genauso darf natürlich auch mit negativen Werten multipliziert werden:

PHP-Code
<?php
	$a = 1;
	$b = 1;
	
	$a = $a * (-6);
	$b *= -6;
	
	var_dump($a, $b);
?>

HTML-Code: Ausgabe
int(-6)
int(-6)


4. Mit einer Zehnerpotenz multiplizieren

Für das Multiplizieren mit 10 bzw. zum Verschieben des Kommas nach rechts können verschiedene Schreibweisen verwendet werden, welche einem mitunter das Nachzählen der Nullen ersparen:

PHP-Code
<?php
	$a = 1;
	$b = 1;
	$c = 1;

	$a = $a * 100; // * 10^2
	$b = $b * 1e3; // * 10^3
	$c = $c * pow(10, 4); // * 10^4

	var_dump($a, $b, $c);
?>

HTML-Code: Ausgabe
int(100)
float(1000)
int(10000)


Wandelt man die Syntax ab, um mit negativen Werten zu multiplizieren, muss man etwas genauer aufpassen, sonst verschiebt man nicht das Komma — wie nun gewünscht — nach links, sondern weiterhin nach rechts:

PHP-Code
<?php
	$a = 1;
	$b = 1;
	$c = 1;
	$d = 1;

	$a = $a * (-10000); // * (-1)*10^4
	$b = $b * (-1e4); // * (-1)*10^4
	$c = $c * (1e-4); // * 10^(-4)
	
	$d = $d * pow(10, -4); // * 10^(-4)

	var_dump($a, $b, $c, $d);
?>

HTML-Code: Ausgabe
int(-10000)
float(-10000)
float(0.0001)
float(0.0001)


5. Durch einen beliebigen Wert dividieren

Die Division erfolgt analog zur Addition, Subtraktion und Multiplikation. Wieder gibt es eine kurze und eine lange Schreibweise. Genauso kann man auch mit 1/x multiplizieren, wenn man durch x teilen will.

PHP-Code
<?php
	$a = 10000;

	$a = $a / 6;
	$a /= 6;
	$a = $a * (1/6);

	var_dump($a);
?>

HTML-Code: Ausgabe
float(46.296296296296)


Gleiches ist mit negativen Zahlen möglich:

PHP-Code
<?php
	$a = 10000;
	
	$a = $a / (-6);
	$a /= -6;
	$a =/ -6;
	$a = $a * (-1/6);

	var_dump($a);
?>

HTML-Code: Ausgabe
float(-46.296296296296)


6. Durch eine Zehnerpotenz dividieren / Komma um x Stellen nach vorne verschieben

Genauso wie bei der Multiplikation ist auch die Division durch Zehnerpotenzen möglich, um das Komma nach links zu verschieben:

PHP-Code
<?php
	$a = 10000;
	$b = 10000;
	$c = 10000;

	$a = $a / 100; # / 10^2
	$b = $b / 1e3; # / 10^3
	$c = $c / pow(10, 4); # / 10^4

	var_dump($a, $b, $c);
?>

HTML-Code: Ausgabe
int(100)
float(10)
int(1)


Und auch hier muss wieder beim Verwenden von negativen Zahlen darauf aufgepasst werden, die richtige Schreibweise zu verwenden, um das Komma nicht versehentlich in die falsche Richtung zu verschieben:

PHP-Code
<?php
	$a = 10000;
	$b = 10000;
	$c = 10000;
	$d = 10000;

	$a = $a / (-10000); # / (-1)*10^4
	$b = $b / (-1e4); # / (-1)*10^4
	$c = $c / (1e-4); # / 10^(-4)
	
	$d = $d / pow(10, -5); # / 10^(-5)

	var_dump($a, $b, $c, $d);
?>

HTML-Code: Ausgabe
int(-1)
float(-1)
float(100000000)
float(1000000000)


7. Um eine Binärzahl erhöhen/verringern

Auch die Addition eines Integers/Floats mit einer Binärzahl ist möglich. Dazu wird die als String vorliegende Binärzahl zunächst in einen Dezimalwert umgerechnet, welcher anschließend zum Integer/Float addiert werden kann.

PHP-Code
<?php
	$a = 1;
	$binary = bindec('0111'); // 7
	$a = $a + $binary;
	var_dump($a);
?>

HTML-Code: Ausgabe
int(8)


Offensichtlich ist auch die Subtraktion von Binärzahlen möglich:

PHP-Code
<?php
	$a = 10;
	$binary = bindec('0111'); // 7
	$a = $a - $binary;
	var_dump($a);
?>

HTML-Code: Ausgabe
int(3)


8. Um eine Hexadezimalzahl erhöhen/verringern

Die Addition von Hexadezimalzahlen erfolgt genauso wie die Addition von Binärzahlen. Zum Definieren der Hexadezimalzahl muss diesmal allerdings keine Funktion verwendet werden, da für diesen Vorgang bereits eine feste Syntax in PHP existiert. Der Hexadezimalzahl muss nur ein „0x” vorangestellt werden, dann kann man sie genauso definieren wie Dezimalwerte:

PHP-Code
<?php
	$a = 1;
	$hex = 0x0F; // 15
	$a = $a + $hex;
	var_dump($a);
?>

HTML-Code: Ausgabe
int(16)


Und natürlich ist wieder auch die Subtraktion möglich:

PHP-Code
<?php
	$a = 17;
	$hex = 0x0F; // 15
	$a = $a - $hex;
	var_dump($a);
?>

HTML-Code: Ausgabe
int(2)


Um unsere Webseite für Sie optimal zu gestalten und fortlaufend verbessern zu können, verwenden wir Cookies. Durch die weitere Nutzung der Webseite stimmen Sie der Verwendung von Cookies zu. Weitere Informationen zu Cookies erhalten Sie in unserer Datenschutzerklärung. OK