PHP este un limbaj destul de usor de folosit si invatat… cel putin asa cred eu… Cei care au mai lucrat in C se pot adapta usor la el. In plus are o facilitate minunata in sensul ca iti face automat conversia tipului de variabila in ce ai tu nevoie, adica poti compara un sir ca un intreg, un intreg ca un sir, un sir ca o data, etc. Totusi usurinta asta se poate intoarce impotriva ta… si eu am avut de furca de cateva ori cu ea. Ultima data, am patit-o comparand ceva ce trebuia sa fie un sir cu “NULL”. Vroiam sa compar daca sirul respectiv este diferit de “NULL” dar din pacate PHP a crezut ca eu vreau sa compar daca variabila respectiva contine valoarea NULL sau 0. Instructiunea cu pricina era
if($search != “NULL”)
… si nu mi-am dat seama la inceput ce nu merge. Dupa aceea m-am prins si ca sa rezolv problema am scris:
if((string) $search != “NULL”)
… si a mers. Deci, aveti grija in PHP daca faceti comparatii ca s-ar putea ca rezultatul sa nu fie exact ce sperati sa fie. Trebuie sa aveti grija mai ales la valorile 0 (zero), NULL, true, false, 1.
Alta chestie ciudata la PHP de care m-am lovit zilele trecute a fost ca neavand o variabila setata si incercand sa o setez direct ca array cu $xyz[0] = valoare, variabila $xyz s-a initializat ca si variabila normala, nu array. Deci de fiecare data cand aveti nevoie de un array, initializati-l prima data cu array():
$xyz = array().
Cam atat cu sfaturile de PHP deocamdata
Sper sa fie de ajutor candva cuiva

#1 scris de ionut_d, 27/11/2009 - 12:59
Am un site pe serverul meu facut cu picioarele in php, care face bucle aiurea in mysql si pune in fund tot serverul cu instructiuni where (“true” = “true”) si alte prostii de astea, de care pana si eu care nu stiu nici C nici php (decat basic) imi dau seama. Cel care l-a facut a cerut o gramada de bani pentru nimic…
#2 scris de kandrei, 27/11/2009 - 14:16
Data viitoare cred ca nu-l mai angajezi, nu ?
Oricum, una e sa ai true = true (pe langa faptul ca rezultatul e true intotdeauna e si gresit ca trebuie doua egaluri
== ), si alta e sa te astepti sa compare ca sir si el sa compare ca intreg. Nu zic ca PHP e rau, ca mie chiar imi place, zic doar ca la unele chestii trebuie sa fi mai atent. Oricum, e de 100000 de ori mai usor ca C.