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.