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:- $ A-t osztjuk $ b-val, megkapjuk a $ c-t
- Ha $ c nulla, akkor $ a% $ b = 0
- Ha $ c nem egyenlő nullával, akkor a $ c függvényből a frakcionális részhez jutunk, $ d-t kapunk
- Szorozzuk $ b-t $ d-vel, és vonjuk ki a kapott értéket $ a-ból
- 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.