Znao sam da je 0==false , a da nije 0===false, ali ovo bogme nisam očekivao.
Al ok, kuzim logiku.
Sad sam s mobitela… čisto me zanima da su tipa zarotirane uspoređivane vrijednosti oko operatora, tipa: ‘any string’==0 … dali se onda casta string u broj…ili nula u string?
Čovjek puzla i Vatreni znalac, moja dva omiljena superjunaka
Inače, @bozoou, to je nepoznavanje alata s kojim radiš već više od 10 godina, Zanimljivo da si se tek sad susreo s tim. Uglavnom, opće poznata stvar zbog čega i ljudi najviše dislajkaju php. Ali samo do verzije 8.
Krivo. Pitanje za tebe: di vidiš numeric string ili leading numeric?
Ovo šta si linkao nema veze s primjerom koda koji je on stavio.
To bi imalo smisla i bilo bi točno za ovakav primjer:
echo 5 + '2 jabuke';
Koji će biti rezultat?
Šta se tiče primjera koji je @bozoou stavio, tu se radi o tome da rezultat ovisi o tipu parametra s kojim se uspoređuje. Npr:
Bilo bi suludo kad bi poznavao u detalj svaki alat sa kojim radim. To je opet glancanje samo jednog ferarria.
Sreo sam se zapravo davno sa ovime. Prije valjda više od 10 godina…od tada radio u raznim jezicima i ostalo mi je samo mutno što ono PHP nešto čudno radi komparaciju…
Od tada Za PHP sam uglavnom koristio === i to mi je bilo sigurno utočište.
Znao sam da je nešto tu mutno ako se radi 0==false ili '0' == false i slične kombinacije …ali mi ni na kraj pameti nije bilo da će mu i ovo biti true 0 == 'any string'. To je vrlo nespretan feature. Ako pogledamo svrhu operatora == , onda je to poprilično nebulozno zamišljeno. (unatoč logici pozadi, koja je istina dosljedna nekim stvarima, svejedno se ovdje morala uvesti iznimka, tj. novo pravilo castanja u ovu svrhu)
Uglavnom, toliko nebulozno je da mi čak nije palo na pamet da je to dio istog problema sa kojim sam se sreo prije deset i kusur godina. Jer tada sam valjda isto sreo u nekoj logičnijoj/blažoj varijanti…
Eto, da ti srce bude mirno zašto nešto nisam znao. …a ti dalje glancaj svog ferrarija, ja radije imam punu garažu auta koje doduše onda slabije poznam u dušu.
Nije problem u ne poznavanju nečeg, ne postji osoba koja zna sve i stvarno taj dio nije problem. Ali, problem nastaje kad netko tko kaže za sebe da ima 10+ godina iskustva, misli da je pametniji od drugih i drži se visoko, a ustvari ne zna osnovne stvari. Sve 5, ne glancam ja ništa, osim par znalaca.
Jedini problem je što ti ne znaš razlučiti bitno od nebitnog. To sam ti ukazao prvi puta kada si se uhvatio kenjati s visoka po codu radi uštede od 0.0000000002 sec …i od tada konstantno palamudiš nebi li dokazao da nisi ispao budala, a samo potvrđuješ isto tim nastupom… (A niti decimalnu točku ne znaš ispravno napisati, lol)
Ti si kreno s visoka ako se sjetiš tog tvog upada gdje ideš kenjati po codu da se uopće nisi osvrnuo na bitne stvari, nego na neke totalno nebitne…beznačajne… nevrijedne spomena…itd.
Uuuuuu, nisam znao da si ti isto jedan od onih koji koriste “Pametnom dosta”. Mislim, očito je da pripadaš u tu skupinu, ali šta ja znam, očekivao sam više. Očito previše.
P.S.
Taj tipfeler sam mogao editirati, ali nisam, znaš zašto?
Al imaš pravo, mislim da se u ovom slučaju i ja držim visoko iako sam pokušao biti od pomoći ( uz pokoju uvredljivu opasku ). I stvarno, to nije način niti je lijepo. Stoga, povlačim se iz daljnje rasprave ovakvog tipa, jer rasprava u smjeru čiji je veći i tko je gluplji ne pridonosi ničemu.
Semu bigulici…jel ovo sada bug, ili još jedan feature … hmm?
Inače mi je u PHPu odbojno koristiti &$var jer kao da sam već naletavao na čudna ponašanja …ali ovo sada mi izgleda očigledno nevaljalo…code je sljedeći:
$data = [['ime'=>'ivo'], ['ime'=>'ana']];
foreach ($data as $key => &$value) {
// any code...
}
foreach ($data as $key => $value) {
echo($value['ime']);
}
Ispis se dobije:
ivo
ivo
A ako u provm loopu maknem & iz sintakse &$value …onda je echo po očekivanom: