If petlja - uspoređivanje

Imam problema sa ovim:
Imam grananje if ovisno o varijabli $a.

if ($a =!0) {
// 1. petlja
}

if ($a== 0) {
// 2. petlja
}

U slučaju kad je meni u varijabli $a neki text on meni ulazi u drugu petlju.
Zašto?

Blok iza if-naredbe nije petlja, već blok koji se uvjetno izvodi (mogao bi reći “uvjetni blok”).

Ne postoji operater “=!”.

Ako se izvede drugi blok, onda je valjda sadržaj varijable interpretiran kao broj 0 (implicitnom konverzijom tipova, v. “type juggling”). Probaj ispisati nešto kao >>echo ( int )$a<<.

Operater “===” (za razliku od “==”) zahtijeva da su i tipovi varijabli jednaki i vrijednosti.

Ono što ti tražiš je ($a) i (!$a)…

Zaprvo piše mi
if ($a != 0)

jel to u redu?

Kako da stavim u uvjet da mi se izvodi blok ako $a nije broj.
Ali i dalje mi nije jasno zašto ulazi u drugi uvjetni blok kojem je uvjet $a==0, a u $a je zapisano “ivo”?

Ne znam koliko će ovo biti točno što ti pišem, jer sam novi u PHP-u

Ali probaj nešto tipa

if(is_numeric($a)){ izvrši ako je neki broj

}else{ izvrši ako je ostalo}

http://www.php.net/manual/en/language.types.string.php#language.types.string.conversion

[quote=""]String conversion to numbers

When a string is evaluated in a numeric context, the resulting value and type are determined as follows.

(…) If the string starts with valid numeric data, this will be the value used. Otherwise, the value will be 0 (zero). [/quote]


Copyright © 2020 WM Forum - AboutContact - Sponsored by: Mydataknox & Webmaster.Ninja