Az operátorok precedenciája azt határozza meg, hogy milyen sorrendben történjen az egyes műveletek végrehajtása.
Matematikából ismert, hogy az a=2+3*4 vagy a=2*3+4 végrehajtása során először a szorzást, majd az összeadást kell elvégezni.
A PHP programozási nyelv esetén a logikai és valamint a logikai vagy műveletek két-két operátorral is elvégezhetők. Figyelni kell azonban arra, hogy az and és &&, valamin az or és || operátorok azonos műveletet végeznek, de különbözik a precedenciájuk.
A PHP nyelv operátorainak műveleti sorrendje
| Asszociativitás | Operátorok | Operátor típus |
|---|---|---|
| NEM köthető | ++, -- | Növelő/csökkentő |
| balról jobbra | *, /, % | Aritmetikai |
| balról jobbra | +, -, . | Aritmetikai és string |
| NEM köthető | <, <=, >, >= | Összehasonlító |
| NEM köthető | ==, ===, != | Összehasonlító |
| balról jobbra | && | Logikai |
| balról jobbra | | | | Logikai |
| jobbról balra | =, +=, -=, =, /=, .=, %= | Értékadó |
| balról jobbra | and | Logikai |
| balról jobbra | xor | Logikai |
| balról jobbra | or | Logikai |
1. példa:
Forráskód
<body>
<h2>Műveleti sorrend</h2>
<?php
echo '<b>$a and $b </b><br>';
$y = (false and false or false); echo "false and false or false = "; var_dump($y);
$y = (false and true or false); echo "false and true or false = "; var_dump($y);
$y = (true and false or false); echo " true and false or false = "; var_dump($y);
$y = (true and true or false); echo " true and true or false = "; var_dump($y);
$y = (false and false or true); echo "false and false or true = "; var_dump($y);
$y = (false and true or true); echo "false and true or true = "; var_dump($y);
$y = (true and false or true); echo " true and false or true = "; var_dump($y);
$y = (true and true or true); echo " true and true or true = "; var_dump($y);
echo '<b>$a and $b </b><br>';
$y = (false and false || false); echo "false and false || false = "; var_dump($y);
$y = (false and true || false); echo "false and true || false = "; var_dump($y);
$y = (true and false || false); echo " true and false || false = "; var_dump($y);
$y = (true and true || false); echo " true and true || false = "; var_dump($y);
$y = (false and false || true); echo "false and false || true = "; var_dump($y);
$y = (false and true || true); echo "false and true || true = "; var_dump($y);
$y = (true and false || true); echo " true and false || true = "; var_dump($y);
$y = (true and true || true); echo " true and true || true = "; var_dump($y);
?>
</body>
Eredmény
A példakód letölthető: PHP5_operatorok_muveleti_sorrend.php.zip

VISSZA
MENÜ