Tanulás php operátorok

Az operátor olyan műveletek leírása, amelyeket a tolmácsnak meg kell tennie a megadott változókkal. Az operátorok a legtöbb kifejezésben szerepelnek, és lehetővé teszik változó értékek módosítását vagy összehasonlítását. Az operátorokhoz társított változók operandusok. Az előző leckében már 3 operátort használtunk: "=" megbízások, ">" összehasonlítások és a karakterláncok összefűzése (egyesítése) ".";

Ne keverd össze a kifejezéseket és az üzemeltetőket. Az operátor csak a szükséges műveleteket határozza meg, és a kifejezés a program teljes kisméretű töredéke, amelybe az operátorok, változók, konstansok stb. Léphetnek be.

A szolgáltatók fontos tulajdonsága a prioritás (más néven "szenioritás" vagy "súly"). Ez a tulajdonság határozza meg, hogy melyik sorrendben hajtsa végre az azonos kifejezés töredékeit. Az előző leckében egy kicsit megérintettük ezt a témát, amikor a kifejezések fészkelését tekintettük.

A második fontos tulajdonság az asszociativitás. A tulajdonság határozza meg, hogy a változók melyik irányba kerülnek értékelésre, amelyre az üzemeltetőt alkalmazzák. Az operátor lehet "asszociatív a bal oldalon", "asszociatív a jobbra" vagy nem asszociatív. A bal asszociativitás azt jelenti, hogy az operandusok értékeit balról jobbra értékeljük, és a jobb asszociativitást megfordítjuk. Egy példa a "bal" utasításra, ez egy példa a helyes kijelentésre.

A táblázat csökkenti a prioritásokat. Az egy sorban lévő operátorokat az asszociativitás figyelembe vételével számítják ki.

A "$ assoc = 3 * 3% 5; 3 operátor egyszerre használatos: assignment "=", szorzás "*" és "%" modulus szerinti megosztás. A táblázat mutatja az első operátort a kifejezésben (számítva balról jobbra) - hozzárendelés. Ez a "jobb" és a legkevésbé prioritásos operátor. akkor először a megfelelő operandust kell kiszámítania ("3 * 3% 5"). A jobb operandus olyan kifejezés, amely két "azonos" prioritású "bal" operátorral rendelkezik. Ezért a számítás egyszerűen balról jobbra történik. A jobb operandus kiszámításának eredménye az operátor operandusává válik. Az összes művelet eredménye - a $ assoc változó megkapja az értéket 4.

Az üzemeltetők típusai

Minden üzemeltető 11 csoportra tagolódik:

  • számtan
  • Feladatok
  • bit
  • összehasonlítás
  • Hibaellenőrzés
  • végrehajtás
  • Növekmény / csökkenés
  • rejtvény
  • húr
  • Array operátorok
  • Típuskezelők

Számtani operátorok

Az érték ellenkező jelzéssel

Két operandus összege

Két operandus közötti különbség

A két szám termékét

Két szám privátja

Modul szerinti osztályozás

Az egész számosztály fennmaradó része

A következő leckékben többször is használjuk a% operátort, ezért jobban meg fogom élni. A modulus szerinti felosztás eredménye az eredeti érték és az osztónak megfelelő érték közötti minimális különbség a rendes hányados teljes részével megszorozva. Például 12% 5 = 2, mert 12% 5 = 12 - (5 * [12/5]) = 12 - (5 * [2.4]) = 12 - (5 * 2) = 12 - 10 = 2.

A gyakorlatban a $ modulo $ b manuális megosztása így történik:
  1. $ A-t osztjuk $ b-val, megkapjuk a $ c-t
  2. Ha $ c nulla, akkor $ a% $ b = 0
  3. Ha $ c nem egyenlő nullával, akkor a $ c függvényből a frakcionális részhez jutunk, $ d-t kapunk
  4. Szorozzuk $ b-t $ d-vel, és vonjuk ki a kapott értéket $ a-ból
  5. A kivonás eredménye a $ a modulo $ b elosztásának eredménye

Hozzárendelési szolgáltatók

Az "=" hozzárendelési operátort már korábban magyarázzuk és használjuk. De a PHP szokásos feladata mellett több kibővített megbízáskezelő működik. A meghosszabbított operátor a hozzárendelést végző operátortól és a módosító szolgáltatótól áll. Például a "+ =" operátornál a módosító operátor a "+" összegzés.

Az összetett utasítás logikája egyszerű: a módosító operátort az operandusokra alkalmazzák, majd az eredményt a bal operandusra rendezzük. Például:

Bitenkénti operátorok

A bit műveletek célja, hogy megváltoztassák a változók egyes bitjeinek értékeit. Ezek az operátorok ugyanazokon az elveken működnek, mint a hagyományos logikai operátorok, csak az eredmény egy bit érték (0 vagy 1), és nem IGAZ vagy FALSE.

IGAZ, ha $ a nagyobb vagy egyenlő $ b értékkel

Ha összehasonlítási műveleteket használ, ne feledje, hogy a PHP implicit módon írja a konverziót. Például, ha egy számértéket összehasonlítunk egy karakterlánccal, akkor a karakterlánc számra alakul, és ha két karakterláncot hasonlítunk össze, akkor mindkettő számká alakul, és numerikusan hasonlít össze.

Egy másik összehasonlító operátor a terner operátor "." Ennek az az értelmezése, hogy az egyik érték az állapotától függően tér vissza. Az általános formában a terner üzemeltető:

[lvalue] = (feltétel)? Ha a feltétel igaz. kifejezés, ha a feltétel hamis;

Ha $ b nagyobb, mint 100, "Több mint száz" nyomtatódik, és ha kevesebb - "Kevesebb mint 100";

Hiba a vezérlők számára

A parancsfájl végrehajtásakor minden hiba, figyelmeztetés és megjegyzés jelenik meg. Ezt a beállítást a PHP INI fájl megváltoztatásával vagy speciális funkció hívásával kikapcsolhatja. De ezek a változások azonnal hatással lesznek a kiszolgáló összes szkriptjére. A hiba kimenetének egyetlen kifejezésben történő kikapcsolásához a "@" hibaüzenetet használják (kutya).

A következő példában, ha a 'counter.dat' fájl nincs jelen, az első sor végrehajtása a figyelmeztető kimenethez vezet, a második pedig nem.

A hibaeltörés-kezelő nagyon hasznos, ha olyan funkciókat hív, amelyek hibát dobhatnak, függetlenül a programozó erőfeszítéseitől. Egy ilyen függvény példája a imagecreatefromjpeg (). Ez a funkció a jpeg formátumú fájlokat nyitja meg, de ha a fájlok a felhasználókból származnak, akkor "töröttek", és az imagecreatefromjpeg () fájlok hibát okoznak.

Végrehajtási nyilatkozat

A "" operátor (backquotes) lehetővé teszi az operációs rendszer parancsainak végrehajtását és végrehajtásának eredményét. Azonban a legtöbb szolgáltató esetében ez az operátor le van tiltva, és használata nem eredményez eredményt - a visszaküldött adatok mindig üresek lesznek.

Amikor Windows -ra van telepítve, ez a szkript megjeleníti az ipconfig segédprogram eredményeit. Ha azonban a PHP biztonságos módban fut, a parancsfájl nem nyomtat semmit.

Növelés és csökkentés operátorok

A "++" növekmény-operátorok és a "-" csökkentéssel a változó értékét "1" -re változtatjuk.

TRUE, ha az operandus FALSE

Megjegyzés: a hozzárendelési művelet IGAZ, ha a hozzárendelés sikeres volt, és a hozzárendelt érték nem FALSE. Ezért a következő kódot hiba nélkül hajtja végre, de nem működik megfelelően:

A szkript mindig kinyomtatja a "második értéket" minden $ b értékért, mert a "$ b = 200" kifejezés mindig igaz. Ez egy nagyon gyakori hiba, amelyet nehéz elkapni és helyesbíteni. Ezért a kód írásakor óvatosnak és pontosnak kell lenni.

String operátorok

Az egyetlen karaktersorozat a concatenation operátor. "" (Dot). Korábban már találkoztunk ezzel a szolgáltatóval. Itt csak megjegyezzük, hogy az operátor "." meglehetősen intelligens és maga is helyesen gyárt többféle öntvényt. Ez nagyon kényelmes, mert akkor könnyen egy kifejezést "ragaszt" különböző változók különböző típusú.

Array operátorok

$ a + $ b vagy $ a és $ b

Két tömb kombinálása

$ a == $ b vagy $ a vagy $ b

TRUE, ha a tömbök ugyanazokkal a kulcs / érték párokkal rendelkeznek

TRUE, ha a tömbök azonos kulcs / érték párral rendelkeznek, ugyanabban a sorrendben és ugyanolyan típusúak

TRUE, ha a tömbök különböző kulcs / érték párokat tartalmaznak

IGAZ, ha a tömbök különböző kulcs- / értékpárokból állnak, ugyanabban a sorrendben és ugyanolyan típusúak

A "+" csatlakozási operátor hozzáadja a jobb operandus elemeit a bal operandus elemeinek listájához. Ebben az esetben a megfelelő kulcs / érték párok nem kerülnek felülírásra, de kihagyásra kerülnek.

Részletesen megfontoljuk a megfelelő fejezetben a tömbökkel való együttműködést.

Típusellenőrző operátor

A "instanceof" típus egyetlen validálási operátora lehetővé teszi annak ellenőrzését, hogy az adott változó egy adott osztály egy példánya.

Az osztályok figyelembe vételével részletesebben megfontoljuk az utasításokat.

Kapcsolódó cikkek