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