muk4
26.07.2011, 20:51:07
Może tego nie widzę, ale może mi ktoś wytłumaczyć czemu tekst w switch się pokazuje a z if nie, chociaż jest taki sam warunek?
btw. 0<0 == true?
<?php
$diff = 0;
switch($diff){
case($diff < 0):
echo 'Zero jest mniejsze niz zero, herp derp.'; break;
}
if($diff < 0){
echo 'A to sie nie pokaze'; }
?>
nospor
26.07.2011, 20:52:53
w CASE nie daje się zadnych warunków. Proponuje powrót do manuala i zapoznanie się z działaniem SWITCH
przenosze
zend
26.07.2011, 20:54:48
Wynikiem $diff < 0 jest bool - zero, wstaw zamiast "$diff < 0" zero to zrozumiesz czemu działa tak a nie inaczej.
Edit
podstaw sobie $diff = -1; to sytułacja się odwróci
muk4
26.07.2011, 21:00:59
nospor
26.07.2011, 21:03:30
Ale w komentarzach. a tam ludzie lubią pisać głupoty
muk4
26.07.2011, 21:04:16
No tak, na początku też się zdziwiłem, ale jak więcej niż 1 post był na ten temat to myślałem że można.
nospor
26.07.2011, 21:07:12
No bo w sumie można. Tylko dla mnie akurat te przykłady z komentarzy to czysto akademickie przykłady by zaciemnić najbardziej jak się da prostą sprawę

No i w Twoim przypadku im się udało - zaciemnili
zend
26.07.2011, 21:09:33
Można, ale nie zalaca się, bo później debugowanie czegoś takiego jest bardzo uciążliwe, czego zresztą sam doświadczyłeś, przykład jest prosty, ale co jeśli błąd wystąpił by gdzieś w 500 liniowym strukturalnym pliku?