Wpis z mikrobloga

Mirki, zagadka...
W żadnej wersji PHP nie wykonuje się ten if na tych liczbach :)
Rozwaliło mi to ostatnio mózg przy analizie błędu w pewnym kodzie raportu klienta, myślałem że starość mnie dopadła ale jednak w żadnym sanboxie (w żadnej wersji php ten kod nie działa)

#programowanie
  • 16
  • Odpowiedz
  • Otrzymuj powiadomienia
    o nowych komentarzach

świetnie ale na innych liczbach działa (wymyślonych) a tylko póki co na tych nie, nawet var dump pokazuje że to są te same wartości i te same typy a jednak nie działa. czary.


@zbyszek_kieliszek: przeczytaj/obejrzyj to co podesłałem to zrozumiesz dlaczego na niektórych wartościach działa a na innych nie. To ma związek z tym w jaki sposób liczby zmiennoprzecinkowe są przechowywane w systemie dwójkowym.
  • Odpowiedz
zgadzam się że to błąd na liczbach zmiennoprzecinkowych, problem w tym że nawet var dump tego nie pokazuje


@zbyszek_kieliszek: nie wiem jak działa var_dump, ale normalnym języku programowania( ͡° ͜ʖ ͡°) można to normalnie wyświetlić (patrz screen). Może ta funkcja var_dump ma w sobie zaimplementowane coś co przewiduje ten błąd i wyświetla zgodnie z intuicją.

chodź dziwne jest to
r.....p - > zgadzam się że to błąd na liczbach zmiennoprzecinkowych, problem w tym że...

źródło: comment_1667994644OTFOB0kthSjAumlWtm3LmO.jpg

Pobierz
  • Odpowiedz
@rockip: Do C++/C to php nie ma co porównywać :) Natomiast w wersji 8 pokazuje inaczej var dump. Tak wiem że są takie dziwne rzeczy ale zdziwiło mnie to że var dump nic nie pokazał u klienta na serwerze jest php 7.X, patrzyłem na sandboxie wszystkie wersje <= 7.X
  • Odpowiedz