Este posibil ca după aceasta și pe următoarea nabla să te simți prost. Vei simți același mod ca și un programator pentru Windows, toată viața mea pentru a desena cercuri, dreptunghiuri, butoane, etc., manual (cu puncte - de exemplu, prin DirectDraw) .., Și găsește dintr-o dată că sistemul de operare există o grămadă de mijloace gata de redare elemente ale interfeței.
Operatori || și
Operatorul || returnează al doilea argument dacă primul este "false" (false, null, "", 0), iar primul este altul. operator returnează al doilea argument, dacă primul este adevărat, iar primul - dacă este fals.
Dar ce este un obiect? Destul de ciudat, orice obiect arată în program ca un hash. Da, da, același hadh cu Perl. Și este creat exact de către același operator, dar în loc de => un colon este folosit:
Proprietățile (și metodele, apropo, de asemenea) ale obiectului sunt doar elementele hash-ului. Pentru a le accesa, puteți utiliza două tipuri de sintaxă:
Și acum - atenție. aceste două căi sunt complet identice! Nu este nici o diferență dacă vă referiți la un hash ca hash.element sau ca hash ['element']. Atunci pentru ce este necesară a doua variantă? Nu este greu de ghicit: este posibil să nu știm în formă explicită numele cheii la care vrem să ne adresăm:
Hashi poate fi creat și element după element:
Cheile hash, desigur, pot reprezenta și numărul obișnuit:
Cu toate acestea, expresia hash.0 în loc de hash [0] nu funcționează (deși uneori IE are obiceiul de a afișa astfel de mesaje de eroare:
De fapt, acest lucru nu este în întregime adevărat, deoarece comanda pentru (var k in arr) (k) imprimă numai cheile numerice ale matricei, dar nu proprietatea lungime. Cu toate acestea, în prima aproximare, ipoteza privind originea matricelor poate fi pe deplin acceptată.
listare
Dacă încercați să imprimați întreaga matrice cu comanda de alertă (arr). atunci toate elementele sale vor fi afișate. Acesta este un truc destul de convenabil, dacă trebuie să afișezi valorile mai multor variabile pentru depanare, dar ești prea leneș să scrie plus semne și virgule în citate:
Comanda este ca o alertă ([1,2, [4,5], 6]). deoarece este trist, afișează toate elementele matricei într-o grămadă, fără a acorda atenție cuiburilor.
Din păcate, nu puteți tipări un hash în acest fel: linia [obiect Object] va fi afișată (vizualizarea exactă depinde de browser). În scopul de a depana în continuare programe cu hashes complexe, am scris următoarea funcție:
Avertizare. mysql_connect () [function.mysql-connect]: Nu se poate conecta la serverul MySQL local prin socket '/tmp/mysql.sock' (2), în /pub/home/javaport/javaportal/books/show2b.php pe linia 11
Avertizare. mysql_db_query () [function.mysql-db-interogare]: Nu se poate conecta la serverul MySQL local prin socket '/tmp/mysql.sock' (2), în /pub/home/javaport/javaportal/books/show2b.php pe linia 19
Avertizare. mysql_db_query () [function.mysql-db-interogare]: Un link către serverul nu a putut fi stabilită în /pub/home/javaport/javaportal/books/show2b.php pe linia 19
Avertizare. mysql_fetch_array (): furnizat argumentul nu este o resursă valabil rezultat MySQL în /pub/home/javaport/javaportal/books/show2b.php pe linia 30
Aflați la ce vă gândiți cu adevărat acum.
[a apărut o eroare în timpul procesării acestei directive]
Avertizare. mysql_connect () [function.mysql-connect]: Nu se poate conecta la serverul MySQL local prin socket '/tmp/mysql.sock' (2), în /pub/home/javaport/javaportal/news/worldnews.php pe linia 91
Avertizare. mysql_db_query () [function.mysql-db-interogare]: Nu se poate conecta la serverul MySQL local prin socket '/tmp/mysql.sock' (2), în /pub/home/javaport/javaportal/news/worldnews.php pe linia 93
Avertizare. mysql_db_query () [function.mysql-db-interogare]: Un link către serverul nu a putut fi stabilită în /pub/home/javaport/javaportal/news/worldnews.php pe linia 93
Avertizare. mysql_fetch_array (): furnizat argumentul nu este o resursă valabil rezultat MySQL în /pub/home/javaport/javaportal/news/worldnews.php pe linia 95