00 Stimmen

PHP: Nur MOD-Operator? Wie geht DIV in PHP?

Frage von Gast | 02.02.2014 um 12:03

Bislang kenne ich in PHP nur den Modulo-Operator %, um den Rest einer Division zu bekommen (12 % 10 = 2). Dieser Operator heißt in anderen Programmiersprachen oft MOD.

In anderen Programmiersprachen gibt es allerdings auch einen DIV-Operator, der dann die Ganzzahl vor dem Komma zurückgibt beziehungsweise die Nachkommastellen abschneidet (12 DIV 10 = 1).

In PHP habe ich diesen Operator bislang noch nicht gefunden. Gibt es ihn?

AntwortenPositivNegativDatumStimmen
1Beste Antwort1 Stimme

Soweit ich weiß gibt es in PHP keinen DIV-Operator, den man einfach so als ein Zeichen wie % schreiben kann. Stattdessen gibt es die Funktion floor():

$a = floor(12/10);
echo $a; // 1

Die PHP-Funktion floor() schneidet alle Stellen hinter dem Komma ab. 12 geteilt durch 10 wären 1,2 - schneidet man die Stellen hinter dem Komma ab bleibt die 1 zurück und das ist die Ganzzahl vor dem Komma.

Ähnliche Resultate bekommst du natürlich auch mit dem Runden einer Zahl.
03.02.2014 um 16:36

AntwortenPositiv Negativ
00 Stimmen

Du könntest auch die PHP-Funktion bcdiv benutzen.

Diese Funktion nimmt drei Parameter entgegen:

  1. Der linke Operant als String
  2. Der rechte Operant als String
  3. Anzahl der Nachkommastellen des Ergebnisses

Um das herkömmliche DIV abzubilden, würde sich also folgendes ergeben:

echo bcdiv('12', '10', 0);  // 1
echo bcdiv('12', '10', 2);  // 1.20

Für bcdiv('12', '10', 0), entspricht die Funktion demnach deinem DIV Operator. Gibt man als dritten Parameter einen anderen Wert als 0 an, so werden entsprechend mehr Nachkommastellen ausgegeben.
24.04.2014 um 16:32

AntwortenPositiv Negativ
Antworten

Ähnliche Themen

Wichtiger Hinweis

Bitte beachten Sie: Die Beiträge auf askingbox.de sind Beiträge von Nutzern und sollen keine professionelle Beratung ersetzen. Sie werden nicht von Unabhängigen geprüft und spiegeln nicht zwingend die Meinung von askingbox.de wieder. Mehr erfahren.

Jetzt mitmachen

Stellen Sie Ihre eigene Frage oder schreiben Sie Ihren eigenen Artikel auf askingbox.de. So gehts.