Verarbeitung von Zahlen und mathematischen Operationen

Dieses Thema Es ist wichtig, weil in fast allen Anwendungen einige Rechenvorgänge vorhanden sind. Die Operationen an den Zahlen werden in der nachstehenden Tabelle dargestellt.

Arithmetische Operationen in PHP

Ich denke, diese Betreiber brauchen keine großen Erklärungen. Ich werde ein Beispiel für jeden von ihnen zitieren:

\\ $ num2 \u003d ". $ num2; // Beispiel der Summation: Echo "
\\ $ num1 + \\ $ num2 \u003d ". ($ num1 + $ num2); // Ausführungsbeispiel: Echo "
\\ $ num1 - \\ $ num2 \u003d ". ($ num1 - $ num2); // Beispiel für Multiplikation: Echo "
\\ $ num1 * \\ $ num2 \u003d "$ num1 * $ num2; // Beispiel der Abteilung: Echo "
\\ $ num1: \\ $ num2 \u003d ". $ num1 / $ num2; // Beispiel eines Gleichgewichts von der Abteilung: Echo "
\\ $ num1% \\ $ num2 \u003d ". $ num1% $ num2; // Beispiel des Inkrements im Präfixformular: Echo "
++ \\ $ num1 \u003d ". ++ $ num1; // Jetzt $ $ \u003d 11 $ num1 \u003d 10; // angemessene Bedeutung // Beispiel für Inkrement in der Position des Präfixformulars: Echo "
\\ $ num1 ++ \u003d ". $ num1 ++; // jetzt $ num1 \u003d 11 $ num1 \u003d 10; // weist die ursprüngliche Bedeutung zu // Beispiel für das Dekrement in der Präfixform: Echo "
- \\ $ num1 \u003d ". - $ num1; $ num1 \u003d 10; // Muster POSSTEFIX-Dekrement: Echo "
\\ $ num1-- \u003d ". $ num1 -?\u003e

Das Ergebnis der oben genannten Ausführung ist ein geschriebener Code:

$ num1 \u003d 10
$ num2 \u003d 7
$ num1 + $ num2 \u003d 17
$ num1 - $ num2 \u003d 3
$ num1 * $ num2 \u003d 70
$ num1: $ num2 \u003d 1.42857142857
$ num1% $ num2 \u003d 3
++ $ num1 \u003d 11
$ num1 ++ \u003d 10
- $ num1 \u003d 9
$ num1-- \u003d 10

Der Unterschied zwischen dem Präfix und dem Poststrefix-Formular:

  • im Präfixformular (++ Vor der Variablen) erfolgt zunächst eine Erhöhung der einen, und dann wird das Ergebnis ausgegeben.
  • in postrefix-Form. (++, stehend nach einer Variablen) Zerstört zuerst das Ergebnis und wird dann bereits in Schritten ausgeführt

Damit Sie den Unterschied besser verstehen, werde ich ein klassisches Beispiel geben, das in vielen Programmier-Lehrbüchern angegeben ist:

// Weisen Sie die Variablen zu: $ num1 \u003d 10; $ num2 \u003d 7; $ rez \u003d ++ $ num1 + $ num2; // Ergebnis wird 18 sein Echo "
\\ $ rez \u003d ". $ rez; // Wir ordnen $ num1 anfängliche Bedeutung: $ num1 \u003d 10; $ rez \u003d $ num1 ++ + $ num2; // Ergebnis wird 17 sein Echo "
\\ $ rez \u003d ". $ rez; // Bedienung ++ und - kann auch auf Reihen angewendet werden $ str \u003d "abc"; Echo "
". ++ $ str; // Ergebnis wird die Linie "ABD" sein ?>

Es ist erwähnenswert, dass Sie beim Hinzufügen von Variablen zwei Arten von Datensätzen verwenden können:

  • $ num1 \u003d $ num1 + $ num2 - Normaler Eintrag;
  • $ num1 + \u003d $ num2 - abgekürzter Eintrag. Das Ergebnis dieser Vorgänge ist das gleiche. Abkürzte Einträge können auch mit Subtrahien und Multiplitationen angewendet werden.

Vergleichsoperatoren in PHP

Vergleichsoperatoren werden in den Inspektionen von IF-Bedingungen usw. verwendet. In dieser Lektion berücksichtigen wir jedoch keine bedingten Betreiber und berücksichtigen nur Vergleichsoperatoren. Alle Vergleichsbetreiber sind in der folgenden Tabelle dargestellt:

Hier ist nichts kompliziert, das Prinzip ist das gleiche wie in der Mathematik. Die einzige Funktion ist, dass wahr (Wahrheit) 1 ist, und False ist 0. Lassen Sie uns ein detailliertes Beispiel für PHP geben:

// Weisen Sie die Variablen zu: $ num1 \u003d 10; $ num2 \u003d 7; ECHO "\\ $ num1\u003e \\ $ num2 \u003d". ($ num1\u003e $ num2); // Empfangen Sie 1 (10\u003e 7 - rechts) Echo "\\ $ num1 // empfangen 0 (10 // Sie können einfacher schreiben: Echo "
10 // 0 Echo "
20 // 0 Echo "
1 \u003d\u003d 1 \u003d ". (1 \u003d\u003d 1); // 1 Echo"
0 \u003d\u003d \\ "\\" \u003d ". (0 \u003d\u003d" "); // 1 Echo"
0 \u003d\u003d\u003d 0 \u003d ". (0 \u003d\u003d\u003d 0); // 1 Echo"
0 \u003d\u003d\u003d \\ "\\" \u003d ". (0 \u003d\u003d\u003d" "); // 0 Echo"
true \u003d ". True; // 1 Echo"
false \u003d ". False; // 0?\u003e

beachten Sie:

  • Im Falle von FALSE wird 0 nicht angezeigt
  • der Äquivalenz-Operator kehrt nur 1 zurück, wenn es eine genaue Übereinstimmung gibt. Zum Beispiel, 0 \u003d\u003d "" TRUE, und 0 \u003d\u003d\u003d "ist nicht mehr treu, da es keine genaue Übereinstimmung gibt.

Operationen mit PHP-Variablen (Bediener)

Zur Implementierung gibt es verschiedene Gruppen.

Der Bediener heißt etwas, das aus einem oder mehreren Werten besteht (Ausdrücke, wenn wir auf der Programmierung von Jargon sprechen), die als neuer Wert berechnet werden können (Somit kann das gesamte Design als Ausdruck angesehen werden). Es folgt, dass Funktionen oder andere Designs, die den Wert zurückgeben (zum Beispiel, drucken ()) sind Betreiber im Gegensatz zu allen anderen Sprachstrukturen (zum Beispiel echo ()) Wer kehrt nichts zurück.

Arithmetische Operationen in PHP

Erinnern Sie sich an die Schulbasen der Arithmetik? Die unten beschriebenen Betreiber arbeiten auf dieselbe Weise.

Der Divisionsbetrieb ("/") gibt immer den echten Typ zurück, auch wenn beide Werte integer (oder in Ganzzahlen umgewandelt werden). Andernfalls ist das Ergebnis fraktioniert.

Betrieb der Berechnung des Gleichgewichts von der Division " % "Es funktioniert nur mit Ganzzahlen, so dass der Einsatz zum Fraktion zu einem unerwünschten Ergebnis führen kann.

Es ist möglich, Klammern zu verwenden. Die Priorität einiger mathematischer Operationen auf andere und sich ändernde Prioritäten bei der Verwendung von Klammern in arithmetischen Ausdrücken entsprechen den üblichen mathematischen Regeln.

Inkrement- und Dekrementierungsoperationen

PHP, ähnlich wie C, unterhält Präfix- und Postfix-Inkrement- und Dekrementbetreiber.

Postfix-Inkrement- und Dekrementierungsbetreiber

Wie in der C-Sprache erhöhen oder reduzieren diese Betreiber den Wert der Variablen, und in dem Ausdruck senden sie den Wert der Variablen zurück $ A. vor dem Wechsel. Beispielsweise:

$ a \u003d 10;
$ B \u003d $ A ++;
echo "a \u003d $ a, b \u003d $ b"; // Zeigt A \u003d 11, B \u003d 10 an

Wie Sie sehen, sehen Sie die erste Variable $ B. Der Wert der Variablen wurde zugewiesen $ A.Und dann wurde letztere inkrementiert. Der Ausdruck, dessen Wert der Variablen zugewiesen ist $ B.vielleicht schwieriger - in jedem Fall inkrementieren $ A. Es wird nur nach seiner Berechnung erfolgen.

Präfixinkrement und Dekrementierungsbetreiber

Es gibt auch Inkrement- und Dekrementierungsbetreiber, die angegeben sind, und nicht nach dem Variablennamen. Dementsprechend geben sie den Wert der Variablen nach der Änderung zurück. Beispiel:

$ a \u003d 10;
$ B \u003d - $ a;
echo "a \u003d $ a, b \u003d $ b"; // Zeigt A \u003d 9, B \u003d 9 an

Inkrement- und Dekrementierungsvorgänge in der Praxis werden sehr oft verwendet. Zum Beispiel befinden sie sich in fast jedem Zyklus zum .

echo. "

Postfix-Inkrement

" ;
$ a \u003d 5;
ECHO "sollte 5 sein:". $ A ++. "
\\ n ";

\\ n ";

Echo. "

Präfixinkrement

" ;
$ a \u003d 5;
ECHO "sollte 6 sein:". ++ $ a. "
\\ n ";
ECHO "sollte 6 sein:". $ a "
\\ n ";

Echo. "

Postfix-Dekrement

" ;
$ a \u003d 5;
ECHO "sollte 5 sein:". $ A -. "
\\ n ";

\\ n ";

Echo. "

Präfix-Dekrement

" ;
$ a \u003d 5;
ECHO "sollte 4 sein:". - $ a "
\\ n ";
ECHO "sollte 4 sein:". $ a "
\\ n ";
?>

Stringoperationen

In PHP gibt es zwei Bediener, um mit Reihen zu arbeiten. Der erste ist ein Verkettungsoperator ("."), Der die Vereinigung des linken und rechten Arguments zurückgibt. Der zweite ist der Aneignungsunternehmen mit Verkettung, der dem rechten Argument nach links verbindet. Lassen Sie uns ein bestimmtes Beispiel geben:

$ a \u003d "Hallo";
$ b \u003d $ a. "WELT!" ; // $ B enthält eine Zeichenfolge "Hallo World!"

$ a \u003d "Hallo";
$ a. \u003d "Welt!" ; // $ a enthält die Zeichenfolge "Hallo World!"
?>

Abfüllvorgänge

Diese Vorgänge sind so konzipiert, dass sie in der gesamten Variablen arbeiten (Installation / Entfernen / Prüfung). Die Bits einer Ganzzahl - es ist nichts weiter als die einzelnen Entladungen derselben Anzahl, die im Binärzahlsystem aufgenommen wurde. Beispielsweise sieht in einem binären System die Zahl 12 aus wie 1100 und 2 - wie 10, also der Ausdruck 12|2 Gibt US-Nummer 14 (1110 in binärer Aufnahme) zurück. Wenn die Variable kein Ganzes ist, dann ist es
Das CHAL ist abgerundet, und dann werden die unten aufgeführten Betreiber darauf angewendet.

Um eine Zahl darzustellen, werden 32 Bit verwendet:

  • 0000 0000 0000 0000 0000 0000 0000 0000 ist null;
  • 0000 0000 0000 0000 0000 0000 0000 0001 ist 1;
  • 0000 0000 0000 0000 0000 0000 0000 0010 ist 2;
  • 0000 0000 0000 0000 0000 0000 0000 0011 ist 3;
  • 0000 0000 0000 0000 0000 0000 0000 0100 - Dies ist 4;
  • 0000 0000 0000 0000 0000 0000 0000 0101 ist 5;
  • 0000 0000 0000 0000 0000 0000 0000 1111 ist 15;

Abgefüllte Betreiber:

Beispiel Name Ergebnis
$ A & $ B Bitweise "und" Nur die Bits, die in $ A und $ B installiert sind, sind installiert.
$ a | $ B. Bitweise "oder" Installierte diese Bits, die entweder in $ A oder in $ B installiert sind.
$ a ^ $ b Ausgenommen oder Nur diejenigen Bits, die entweder nur $ A installiert sind, sind installiert oder nur $ B
~ $ A. Negation Es gibt diese Bits, die nicht in $ A installiert sind, und umgekehrt.
$ A.<< $b Nach links verschieben Alle variablen Bits $ A Shift to $ B-Positionen nach links (jede Position impliziert "Multiplikation um 2")
$ A\u003e $ b Nach rechts verschieben Alle variablen Bits $ A Shift to $ B-Positionen nach rechts (jede Position impliziert "Division um 2")

Operationen des Vergleichs

Vergleichsoperatoren, wie er von ihrem Namen ersichtlich ist, können Sie zwei Werte miteinander vergleichen.

Dies ist eine Art eindeutiger Operation, denn unabhängig von den Arten ihrer Argumente, sie kehren immer einen von zwei zurück: falsch oder wahr.. Vergleichsvorgänge Ermöglichen Sie, dass Sie zwei Werte zwischen sich selbst vergleichen und, wenn der Zustand ausgeführt wird, zurückgegeben wahr., Und wenn nicht - falsch.

PHP darf nur skalare Variablen vergleichen. Arrays und Objekte in PHP können nicht verglichen werden. Sie können sogar mit Gleichheit verglichen werden (mit dem Bediener \u003d\u003d), aber wenn Sie einen solchen Betrieb durchführen, gibt PHP keine Warnungen aus. So überraschend einmal, warum zwei völlig unterschiedliche Arrays beim Vergleich von ihnen mit == Es ist plötzlich dasselbe, denken Sie daran, dass er, bevor beide Operanden verglichen werden, in das Wort umgewandelt werden array. was dann verglichen wird.

Weitere Informationen zum Vergleich von Arrays finden Sie unter.

Vergleichsoperatoren:

Beispiel Name Ergebnis
$ a \u003d\u003d $ b Gleichermaßen Wahr. Wenn $ A $ B ist, ist ein
$ a \u003d\u003d\u003d $ b Identisch gleich Wahr. Wenn $ A $ B ist, und hat den gleichen Typ. (Zu PHP hinzugefügt 4)
$ a! \u003d $ b Nicht gleich Wahr. Wenn $ A nicht $ B ist.
$ A.<> $ B. Nicht gleich Wahr. Wenn $ A nicht $ B ist.
$ a! \u003d\u003d $ b Identisch nicht gleich Wahr. Wenn $ A nicht $ B ist, oder wenn sie verschiedene Typen sind (PHP 4)
$ A.< $b Weniger Wahr. Wenn $ A streng weniger als $ b ist.
$ a\u003e $ b Mehr Wahr. Wenn $ A strikt mehr $ b ist.
$ A.<= $b Weniger oder gleich Wahr. Wenn $ A weniger als oder gleich $ b ist.
$ a\u003e \u003d $ b Mehr oder gleich Wahr. Wenn $ A größer oder gleich $ b ist.

Logische Operationen

Logische Betreiber sind ausschließlich für die Arbeit mit logischen Ausdrücken gedacht und auch zurückzugeben falsch oder wahr..

Wir geben ein Tabellen der logischen PHP-Betreiber:

Es ist zu beachten, dass die Berechnung logischer Ausdrücke, die solche Bediener enthalten, immer von links nach rechts, während das Ergebnis bereits offensichtlich ist (zum Beispiel, falsch && etwas immer gibt falsch) Die Berechnungen sind unterbrochen, auch wenn im Ausdruck Funktionsaufrufe auftreten. Zum Beispiel im Bediener $ logic \u003d 0 && (TIME ()\u003e 100); Standardfunktion zeit () wird niemals verursacht werden.

Seien Sie vorsichtig mit logischen Operationen - vergessen Sie nicht, das Symbol zu verdoppeln. Beachten Sie, dass zum Beispiel | und || - Zwei völlig andere Betreiber, von denen einer möglicherweise eine beliebige Anzahl zurückgibt, und der zweite - nur falsch und wahr..

Inkrementierungsbetreiber (++) und Dekrement (-) arbeiten nicht mit logischen Variablen.

Äquivalenzbediener.

PHP, beginnend mit PHP4 gibt es einen identischen Vergleichsoperator - ein dreifaches Zeichen der Gleichheit === ,
oder Überprüfungsoperator auf. PHP ist ziemlich tolerant bezieht sich auf die Tatsache, dass die Linien implizit in Zahlen umgewandelt werden, und umgekehrt.
Der folgende Code gibt beispielsweise aus, dass die Werte von Variablen gleich sind:

$ a \u003d 10;
$ B \u003d "10";

Und das ist trotz der Tatsache, dass die Variable $ A. repräsentiert eine Zahl als $ B. - String. Herase betrachten ein leicht anderes Beispiel:

$ a \u003d 0; // Null
$ B \u003d ""; // leere Zeile.
Wenn ($ a \u003d\u003d $ b) Echo "A und B gleich sind; // Displays "A und B sind gleich

Obwohl $ A. und $ B. Es ist eindeutig nicht gleich, auch beim üblichen Verständnis dieses Wortes, das Skript wird erklären, dass sie zusammenfallen. Warum passiert das? Tatsache ist, dass, wenn einer der Operanden des logischen Operators als Zahl interpretiert werden kann, dann werden beide Operanden als Zahlen behandelt. In diesem Fall dreht sich die leere Linie in 0 was dann mit Null verglichen wird. Kein Wunder, dass der Betreiber echo. löst aus.
Das Problem löst den Äquivalenz-Operator === (Dreifache Gleichheit). Es vergleicht nicht nur zwei Ausdrücke, sondern auch ihre Typen. Wir schreiben unser Beispiel mit diesem Bediener neu.

Logische Operationen gibt es in allen Programmiersprachen und PHP. keine Ausnahme. Neben einfacher Division, Multiplikation, Ergänzung oder Subtraktion gibt es noch ganzzahlige und restliche Division, über die wir jetzt sprechen werden, und wir werden sie auch mit detaillierten Beispielen analysieren.

Eine Integer-Division ist der Rückzug des gesamten Teils der Division. Wenn wir beispielsweise 2 teilen, erhalten wir 2 und nicht 2.5.

Mit Restabteilung ist alles anders. Dies ist die Schlussfolgerung des Rückstands von einer Ganzzahl. Wenn Sie beispielsweise dieselben Top fünf teilen, erhalten Sie nicht 2 und 1, da 5 Teilen 2, wir erhalten 2, und 1 bleibt im Rückstand.

So führen Sie die Integer-Division in PHP aus

In Python tritt beispielsweise in Python mit einem einfachen Bediener auf: "//".

A B. PHP. Es ist nicht so einfach, dies zu tun, aber der Prozess erfordert jedoch keine Sprachen.

Lassen Sie uns ein Beispiel geben, wie kann dies implementiert werden.

IM PHP. Die siebte Versionsfunktion ist wie folgt:

Intdiv ();

In der älteren Version sieht das gleiche Feature so aus:

Es gibt auch einen Weg für alle Versionen:

Fußboden ();

Wie arrangiere ich?

Nehmen Sie zum Beispiel die erste Funktion, alle anderen werden ungefähr ausgeführt.

$ ergebnis \u003d intdiv (10, 3); Echo $ Ergebnis;

Restabteilung in PHP

Um ein ganzzahliges Gleichgewicht mitzuteilen, indem Sie einteilen PHP Es reicht nur um den Bediener "%".

$ i \u003d 10% 3; Echo $ i;

Wie wir sehen, ist alles ganz einfach und erfordert keine langfristigen Erklärungen.

Wo kann ich benutzen?

Kenntnis der Integer-Division in PHP. Wird sehr nützlich sein, wenn Sie zwei Zahlen vergleichen müssen, erstellen Sie eine Nummer-Querversorgung (beliebte Übung) oder beispielsweise ein Programm namens FizzBuzz. Seine Essenz ist, dass Sie einen Zyklus von 1 bis 100 schreiben müssen, der jede Zahl um 3 und 5 unterteilt, wenn die von 3 geteilte Zahl in dem Rückstand 0 ergab, dann schreibe wir fizz, wenn wir mit 5 geteilt werden, dann buzz, Und wenn, Teilen und 5, und 3 bekommen wir im Rest 0, dann schreiben wir Fizzbuzz. Dies ist eine sehr beliebte Aufgabe für Interviews. Wenn Sie es selbst abgeschlossen haben, können Sie stolz darauf sein.

Oder wir müssen zum Beispiel alle seine Zahlen (4, 5, 2) von seiner 452 anbieten.

Fazit

Natürlich ist die Ganzzahl- und Restabteilung nützlich und oftmals findet, es ist nicht so bequem, sie wie in Python zu verwenden, aber immer noch wichtig.

Jetzt treten Sie näher an, um die Programmiersprache zu lernen PHP Und in der Zukunft wird es noch näher, wenn Sie auch schwierige Schwierigkeiten überwinden werden.

Fortsetzung des Themas:
W-lan

Zu wissen, warum das Telefon erhitzt wird, kann der Benutzer versuchen, seine Temperatur zu reduzieren. Dies wird dazu beitragen, eines der häufigsten Probleme zu lösen - obwohl er damit konfrontiert ist ...