Pomoc - Szukaj - Użytkownicy - Kalendarz
Pełna wersja: if != nie dziala
Forum PHP.pl > Forum > PHP
inwob
Witam mam skrypt
  1. echo $kurseczek.' != '.$kupon[kurs].' <br />';
  2. if (($kurseczek) != ($kupon[kurs])) {
  3. mysql_query("update kupon set kurs = ".$kurseczek." where id = ".$typ[kupon]."");
  4. echo("update kupon set kurs = ".$kurseczek." where id = ".$typ[kupon]."<br />");
  5. $kuponik = mysql_query("Select * from kupon where id = ".$typ[kupon]." and ((siadl > 0 and siadl < 4) or (freebet = 'Tak' and siadl < 4)) ");
  6. $kupon = mysql_fetch_assoc($kuponik);
  7. }


Powinien nie zadziałać a zwraca mi:
  1. 3.6556 != 3.6556
  2. update kupon set kurs = 3.6556 where id = 5
  3. 3.90572 != 3.90572
  4. update kupon set kurs = 3.90572 where id = 6


Co jest źle?
Pozdrawiam!
wookieb
A użyj var_dump na zmiennych $kurseczek, $kupon
  1. // nie
  2. $kupon[kurs]
  3. // tylko
  4. $kupon['kurs']
inwob
  1. echo var_dump($kurseczek).'<br />'.var_dump($kupon['kurs']).'<br />';

Kod
float(3.90572) string(7) "3.90572"


i czy [''] jest ważne bo w wielu przypadkach mam []?
wookieb
  1. $kurseczek = (string)$kurseczek.

Powinno działać.
Jest ważne, bo tak się nie pisze.
inwob
Ok działa dzięki ;D
Crozin
Cytat
Jest ważne, bo tak się nie pisze.
Nie, jest ważne ponieważ te dwa kody działają w zupełnie odmienny sposób:
  1. $kupon['kurs']
Zwróci nam wartość elementu "kurs" z tablicy $kupon.
  1. $kupon[kurs]
Zwróci nam wartość elementu wartość stałej kurs z tablicy $kupon.

Jedyny powód dla którego obie formy działają to idiotoodporność PHP, dla którego odwołanie się do nieistniejącej stałej zamiast wywalić cały skrypt powoduje wygenerowanie małego błędu typu E_NOTICE (którego notabede jedynie ukrywasz) i podstawienie wartości tekstowej o nazwie stałej.
To jest wersja lo-fi głównej zawartości. Aby zobaczyć pełną wersję z większą zawartością, obrazkami i formatowaniem proszę kliknij tutaj.
Invision Power Board © 2001-2025 Invision Power Services, Inc.