Funtionsbeschreibung für %

Loveboat

Erfahrenes Mitglied
Hallo Leute,

hatte in einem anderen Beitrag, bei dem es sich um einen Kalender handelt (http://www.tutorials.de/forum/php/3...en-monat-eines-kalenders-anzeigen-lassen.html) eine if-Anweisung gesehen die wie folgt lautet:

PHP:
      if ( ! ( $i % 7 ) && $i != ( $iLimit + $iDayOfWeek - 1 ) ) 
      { 
        // Am Ende eines jeden 7. Durchlaufs die Tabelle umbrechen. 
        $strBuildYear .= '</tr><tr>'; 

        $w++; 
      }

Von der Logik her kann ich mir vorstellen was das "$i % 7" bedeutet, aber ich bin auf der Suche nach ner richtigen Funktionsbeschreibung. Normalerweise schaue ich bei http://www.php.net nach, aber ich hab hier nix gefunden.

Kann mir jemand mal genau beschreiben, was das % bedeutet? Sorry für die "doofe" Frage, aber mich interessiert es.

Danke und Gruß
Loveboat
 
% heisst "Modulo".

Da rechnet PHP so, wie man es in der Grundschule gemacht hat.
Als Beispiel mal:

5 % 2: Das wären 2 (ganze) mit Rest 1.
8 % 3: Das wären 2 (ganze) mit Rest 2
15 % 5: Das wären 3 (ganze) mit Rest 0

Der Rest wäre also das Ergebnis, das Modulo zurückgibt.
Anders ausgedrückt:

Liefert den ganzzahligen Rest einer Division zurück.
 
Hi,

danke für die schnelle Antwort.

Hab ich das also richtig verstanden, dass bei einer Abfrage

PHP:
if ( ! ( $i % 7 ))
 {
 }

die anweisung nur ausgeführt wird, solange es einen "Rest" gibt? Bei Ergebnissesn wie $i = 7, 14, 21 usw. gäbe es keinen Rest und die Anweisung würde übergangen werden?

Gruß
Loveboat
 
Zuletzt bearbeitet:
Modulo ist in PHP ein Operator und keine Funktion. Deswegen wirst du auch keine Funktionsbeschreibung finden. Unter den algorithmischen Operatoren ist er jedoch aufgeführt.

Der Ausdruck „!($i % 7)“ ist übrigens so zu verstehen, dass er genau dann wahr ist wenn $i % 7 unwahr ist („unwahr“ im Sinne des Gleichheitsoperators ==), was wiederum genau dann zutrifft ist wenn „i mod 7 = 0“, wenn $i also ein Vielfaches der Sieben ist.
Viele schreiben stattdessen aber lieber $i % 7 == 0.
 
Super, habs verstanden. Beim Hinweis $i % 7 == 0 hat es klick gemacht. Vereinfacht manch Programmierungen. :-)

Danke für Eure Hilfe.

Gruß
Loveboat
 
Zurück