Php kifejezések és operátorok, prioritás és asszociativitás

A kifejezés egy program forráskódjának bármely olyan egysége, amely kiszámítható egy érték eléréséhez, például egy függvényhíváshoz, az operátorok használatához, vagy egyszerűen egy névhez tartozó változó eléréséig. A PHP-ben szinte minden kifejezés.

A kifejezések egyszerű (azaz elsődleges) és összetettek. Az elsődleges kifejezések független kifejezések - nem tartalmaznak még egyszerűbb kifejezéseket sem. Például az elsődleges kifejezések: azonosító, literál és csoportosító. A komplex kifejezések egyszerű kifejezésekből állnak. A komplex kifejezések egyszerű kifejezésekből történő előállításának tipikus módja az operátorok használata:

Egyes kifejezések, valamint az utasítások pontosvesszővel végződnek például:

Így a különbség a kifejezés és az utasítás, hogy minden olyan kifejezést - ez az, ami számított, így az értéket, és az utasítás - ez csak egy hivatkozás a bizottság minden olyan cselekmény.

Az operátor olyan programkód eleme, amely leír egy műveletet egy kifejezésben. A PHP-ben az operátor egy szimbólum, amellyel különböző típusú számítások, összehasonlítások vagy egy vagy több értéket tartalmazó megbízások végezhetők. A különböző operátorok különböznek az operandusok típusától és számától. A PHP-ben többféle operátort használnak: számtani, hozzárendelés, összehasonlítás, logikai és bitwise (bitwise). Az operátorok oldalán található értékeket operandusnak nevezik:

A kezelő + mindkét oldalán lévő numerikus literálok operandusai. Az operandus befolyásolja az operátort. Az operandusok és az operátorok olyan kifejezést eredményeznek, amely új értéket képez.

A fentiekből azt a következtetést vonhatjuk le, hogy a kifejezés két vagy több alfejezetből áll, amelyeket a szereplők egyesítenek. Minél több alfejezet és operátor van, annál hosszabb és keményebb kifejezés.

A piaci szereplőkkel való együttműködés során különösen fontosak a következő szempontok:

  • operandusok száma
  • az operandusok típusa
  • prioritás (a végrehajtás sorrendje)
  • a szereplők asszociatív jellege

Operandusok száma

A különböző operátorok különböző operandusokat vesznek igénybe. A két operandussal működő operátorok bináris operátorok. az ilyen szolgáltatók magukban foglalják az összeadást, kivonást, szorzást stb.

Más operátorok csak egy operandust vehetnek igénybe, ezeket unary-nak hívják. Példák egy unary operátorra az unary mínusz (-), növekmény, csökkenés stb.

Van egy olyan operátor is, aki három operandussal működhet együtt, ezért egy operátort terner operátornak neveznek. Ez az üzemeltető olyan operátor, amely a feltételes üzemeltető jelölésének rövidített formája, ha ezt később tárgyaljuk, amikor feltételes üzemeltetőkre gondolunk.

Az operandusok típusai

A kifejezések létrehozásakor figyelmet kell fordítani az operátorok típusaira, amelyekkel minden operátor működik, mivel minden operátor elvárja, hogy egy adott adattípus operandusát fogadja. Például két sorból nem lehet szaporodni

A PHP azonban arra törekszik, hogy az életét a lehető legegyszerűbbé tegye, és automatikusan végezze el az operandus-típusok szükséges átalakítását bizonyos operátorok számára. A következő kifejezés teljesen elfogadható:

Ebben a kifejezésben a PHP tolmács automatikusan átalakítja a karakterláncokat számokra, és megszorozza őket. De néha ilyen automatikus átalakítás lehetetlen, ezért legyen óvatos és kövesse az alkalmazott operandusok típusát.

Megjegyzés: Ha a PHP automatikus típusú konverziót hajt végre, ezt implicit típusú leadásnak nevezik, ha a típusátalakítást manuálisan hajtják végre - ezt explicit típusú castingnek nevezik.

Az operátor prioritása határozza meg a műveletek végrehajtásának sorrendjét a kifejezés értékének kiszámításakor.

Azonos prioritású operátorok a kifejezés sorrendjében kerülnek feldolgozásra. Például a szorzás és a megosztás műveletei abban a sorrendben valósulnak meg, amelyben a kifejezést követik, mert ugyanolyan prioritásúak.

Ha a kifejezés különböző prioritású operátorokat tartalmaz, akkor végrehajtásuk sorrendje befolyásolhatja a kifejezés végeredményét. A zárójelek (és) segítségével újra definiálhatja a kijelentések végrehajtásának sorrendjét, vagy egyszerűen javíthatja a kifejezés olvashatóságát.

A második kifejezésben a szorzás a kiegészítés után történik, mivel a szereplők végrehajtásának sorrendjét zárójelek segítségével újradefiniálják.

asszociativitás

Minden operátor egy bizonyos irányba kezeli az operandusukat. A feldolgozás irányát asszociatívnak nevezzük, és az operátor típusától függ. A legtöbb operátor elvégzi a feldolgozást balról jobbra - ezt a sorrendet bal associativitásnak nevezik. A bal associativitás azt jelenti, hogy a kifejezést balról jobbra, jobb asszociativitást az ellenkező irányba értékeljük.

Az üzemeltetők táblája

A PHP-ben több prioritási szint van, a táblázat felsorolja a prioritási sorrend szerint rendezett üzemeltetőket, a legmagasabbtól a legalacsonyabbig. Az azonos szintű üzemeltetők ugyanolyan prioritást élveznek.

Az "Associativity" oszlopban a megfelelő asszociativitású operátorok címkével vannak ellátva, a többiek a bal oldalon vannak.

Kapcsolódó cikkek