PHP proti Rubyju

PHP in Ruby sta PHPRubyBlokiraj komentarje, ki ločujejo / * in * / = začetek in = konec; tudi katero koli besedilo po __END__ Terminatorji izjav Podpičje končano Newline preneha Nizi dinamično velikosti Da Da Vgrajeni komentarji, ki ločujejo // in # # Razredi Da Da Operater povezovanja nizov . (pika) + (znak plus) Programiranje paradigme imperativ, objektno usmerjen, odseven Imperativni, objektno usmerjeni, odsevni, vidno usmerjeni, funkcionalni OOP (objektno usmerjeno programiranje) Da, enotno dedovanje. Da, vendar vam ni treba. Podprti večdimenzionalni nizi Da Da Dostop do elementov matrike $ array [i] matrika [i] Preverjanje vrste Dinamičen Dinamičen Sintaksa za dolžino niza strlen ($ string) string.size ali string.length Odvoz smeti Da Da Vektorizirane operacije Da Da Skladnja za primerjavo nizov strcmp ($ string1, $ string2) string1 string2 Skladnja za testiranje enakosti vrvic $ string1 == $ string2 string1 == string2 Vtipkanje Slabo tipkanje Močno vtipkana Sintaksa iskanja niza strpos ($ string, $ substring [, startpos]) vrne FALSE, če iskalnega elementa ($ substring) ni mogoče najti string.index (podvrsta [, startpos]) vrne nič, če iskalnega elementa (podvrsto) ni mogoče najti Sintaksa oblikovanja niza sprintf (formatstring, predmeti) sprintf (formatstring, predmeti) Sintaksa za pridružitev nizu strun implode (separator, array_of_strings) array_of_strings.join (separator) Sintaksa za podvrsti substr (niz, startpos, numChars) niz [startpos, numChars] Sintaksa za iskanje in zamenjavo znotraj niza str_replace ($ find, $ substitu, $ string) string.gsub (poišči, zamenjaj) Predvidena uporaba Spletne aplikacije, CLI Prijave, skript Sintaksa za preusmeritev niza strrev ($ string) string.reverse Jezikovni cilji oblikovanja Robustnost in preprostost Izraznost, berljivost Sintaksa za pretvorbo niza v veliko črko strtoupper ($ string) string.upcase Primeri uporabe WordPress, Wikipedia Indiegogo, Hulu

Vsebina: PHP proti Ruby

  • 1 asociativni nizi v PHP-ju proti Ruby-ju
    • 1.1 PHP
    • 1.2 Ruby
  • 2 Reference

Pridružitveni nizi v PHP-ju proti Ruby-ju

PHP

Vgrajeni tip matrike PHP je v resnici asociativni niz. Tudi kadar uporablja numerične indekse, ga PHP interno shrani kot asociativni niz. To je razlog, zakaj lahko eden v PHP-ju ima zaporedne številčno indeksirane matrike. Ključi morajo biti skalarne vrednosti (niz, številka s plavajočo vejico ali celo število), medtem ko so vrednosti lahko poljubnih vrst, vključno z drugimi nizi in predmeti. Nizi so raznoliki; en sklop ima lahko tipke različnih vrst. PHP-jeve asociativne matrike lahko uporabite za predstavljanje dreves, seznamov, skladov, čakalnih vrst in drugih skupnih podatkovnih struktur, ki niso vgrajene v PHP.

V PHP-ju je asociativni niz lahko oblikovan na enega od dveh načinov:

$ imenik = matrika (); $ telefonski imenik ['Sally Smart'] = '555-9999'; $ telefonski imenik ['John Doe'] = '555-1212'; $ imenik ['J. Naključni heker '] =' 555-1337 '; // ali $ phonebook = array ('Sally Smart' => '555-9999', 'John Doe' => '555-1212', 'J. Random Hacker' => '555-1337',); // ali $ imenik ['kontakti'] ['Sally Smart'] ['številka'] = '555-9999'; $ imenik ['stiki'] ['John Doe'] ['številka'] = '555-1212'; $ imenik ['stiki'] ['J. Naključni heker '] [' številka '] =' 555-1337 '; 

Prav tako lahko v PHP zavijete skozi asociativni niz:

foreach ($ imenik kot $ name => $ številka) echo "Številka za $ name: $ številka \ n";  
// Za zadnji primer matrike je uporabljen kot ta predgovor ($ imenik ['kontakti'] kot $ name => $ num) echo "Ime: $ name"; odmev "Številka: $ num ['število']";  

PHP ima obsežen nabor funkcij za delovanje na nizih.

Ruby

V Rubyju se pridruženi niz imenuje Hash in se uporablja na naslednji način:

imenik = 'Sally Smart' => '555-9999', 'John Doe' => '555-1212', 'J. Naključni heker '=>' 553-1337 ' 

imenik ['John Doe'] proizvaja '555-1212'

Če želite iterati čez hash, uporabite nekaj takega:

imenik. ključ, vrednost | doda tipko + "=>" + vrednost 

Poleg tega je lahko vsak ključ prikazan posebej:

imenik.each_key | tipka | postavlja ključ 

Vsaka vrednost je lahko prikazana tudi:

imenik.each_value | vrednost | doda vrednost 

Reference

  • PHP in Ruby sintaksa, primerjava ob strani