|
|
Logický součet
|
4.2.2008 00:33
Dan Pelíšek
|
Dobrý den
Narazil sem na problém. Vím sice jak se mu vyhnout, ale zajímalo by mě v čem je chyba, v php mám napsáno toto:
<?php
$mobil=false;
$vysilacka=true;
$volat=$mobil or $vysilacka;
echo "Mobil ".($mobil?"mám":"nemám")." a vysílačku ".($vysilacka?"mám":"nemám");
echo " volat ".($volat?"můžu":"nemůžu")."<br>\n";
$volat=$mobil || $vysilacka;
echo "Mobil ".($mobil?"mám":"nemám")." a vysílačku ".($vysilacka?"mám":"nemám");
echo " volat ".($volat?"můžu":"nemůžu")."\n<p>\n";
?>
a v prohlížeči to vypíše toto:
Mobil nemám a vysílačku mám volat nemůžu
Mobil nemám a vysílačku mám volat můžu
Jestli se nemýlím tak by mělo || znamenat to samé jako or a naopak, ale tady je to jinak. Mám php verze 5.2.4 |
|
|
Re: Logický součet
|
4.2.2008 02:08
Aleš Hakl
|
Operace, kterou or a || provadi, je sice stejna, nicmene tyto dva operatory nejsou totez - lisi se prioritou, a or ma prioritu velice nizkou (jedine co ma nizsi je carka) (viz poznamka pod tabulkou 15.5 a tabulka 15.6 v manualu PHP). Diky tomuá se ten prvni prikaz vyhodnoti jako ($volat = $mobil) or $vysilacka. (coz je v tomto pripade zrejmy nesmysl, nicmene platny kod) |
|
|
Re: Logický součet
|
4.2.2008 14:43
Dan Pelíšek
|
Děkuju za odpověď |
|
|
|
|
KOMENTARZE
|
Tylko zarejestrowani użytkownicy mogą dopisywać komentarze.
|
|
Szukanie oprogramowania
|
©Pavel Kysilka - 2003-2024 |
maillinuxsoft.cz | Design:
www.megadesign.cz
|