PHP vs. Ruby

PHP a Ruby jsou PHPRubínBlokovat oddělovač komentářů /* a */ = začátek a = konec; také jakýkoli text po __END__ Ukončení výpisu Středník byl ukončen Nový řádek byl ukončen Pole dynamicky dimenzovaná Ano Ano Oddělovač vložených komentářů // a # # Třídy Ano Ano Operátor zřetězení řetězců . (tečka) + (znaménko plus) Programovací paradigmata imperativní, objektově orientovaný, reflexní Imperativní, objektově orientovaný, reflexní, aspektově orientovaný, funkční OOP (Object Oriented Programming) Ano, jediné dědictví. Ano, ale nemusíte. Podporována vícerozměrná pole Ano Ano Přístup k prvku pole $ array [i] pole [i] Kontrola typu Dynamický Dynamický Syntaxe pro délku řetězce strlen ($ string) string.size nebo string.length Sběr odpadu Ano Ano Vektorizované operace Ano Ano Syntaxe porovnávání řetězců strcmp ($ string1, $ string2) string1 string2 Syntaxe testování řetězcové rovnosti $ string1 == $ string2 string1 == string2 Psaní na stroji Slabé psaní Silně napsané Syntaxe vyhledávání řetězců strpos ($ string, $ podřetězec [, startpos]) vrátí FALSE, pokud nebyla nalezena vyhledávací položka ($ podřetězec) string.index (podřetězec [, startpos]) vrátí nulu, pokud hledaná položka (podřetězec) nebyla nalezena Syntaxe formátování řetězců sprintf (formátování, položky) sprintf (formátování, položky) Syntaxe pro připojení řady řetězců implode (separator, array_of_strings) array_of_strings.join (separator) Syntaxe pro podřetězec subst (řetězec, startpos, numChars) řetězec [startpos, numChars] Syntaxe pro vyhledávání a nahrazování v řetězci str_replace ($ find, $ Nahradit, $ string) string.gsub (najít, nahradit) Zamýšlené použití Webové aplikace, CLI Aplikace, skriptování Syntaxe pro obrácení řetězce strrev ($ string) string.reverse Cíle jazykového designu Robustnost a jednoduchost Expresivita, čitelnost Syntaxe pro převod řetězce na velká písmena strtoupper ($ string) string.upcase Příklady použití WordPress, Wikipedia Indiegogo, Hulu

Obsah: PHP vs Ruby

  • 1 Asociativní pole v PHP vs. Ruby
    • 1.1 PHP
    • 1,2 Ruby
  • 2 Reference

Asociativní pole v PHP vs. Ruby

PHP

Zabudovaný typ pole PHP je ve skutečnosti asociativní pole. I při použití numerických indexů jej PHP interně ukládá jako asociativní pole. To je důvod, proč jeden v PHP může mít nesouvislá numericky indexovaná pole. Klíče musí být skalární hodnoty (řetězec, číslo s pohyblivou řádovou čárkou nebo celé číslo), zatímco hodnoty mohou být libovolného typu, včetně dalších polí a objektů. Pole jsou heterogenní; jedno pole může mít klíče různých typů. Asociativní pole PHP lze použít k reprezentaci stromů, seznamů, hromádek, front a jiných běžných datových struktur, které nejsou zabudovány do PHP.

V PHP lze asociativní pole vytvořit jedním ze dvou způsobů:

$ phonebook = array (); $ phonebook ['Sally Smart'] = '555-9999'; $ telefonní seznam ['John Doe'] = '555-1212'; $ telefonní seznam ['J. Random Hacker '] =' 555-1337 '; // nebo $ phonebook = array ('Sally Smart' => '555-9999', 'John Doe' => '555-1212', 'J. Random Hacker' => '555-1337',); // nebo $ telefonní seznam ['kontakty'] ['Sally Smart'] ['number'] = '555-9999'; $ phonebook ['contact'] ['John Doe'] ['number'] = '555-1212'; $ telefonní seznam ['kontakty'] ['J. Random Hacker '] [' number '] =' 555-1337 '; 

Můžete také procházet skrz asociativní pole v PHP následujícím způsobem:

foreach ($ telefonní seznam jako $ name => $ number) echo "Číslo pro $ name: $ number \ n";  
// V posledním příkladu pole se používá jako tento foreach ($ phonebook ['contact'] jako $ name => $ num) echo "Name: $ name"; echo "Number: $ num ['number']";  

PHP má rozsáhlou sadu funkcí, které fungují na polích.

Rubín

V Ruby se přidružené pole nazývá Hash a používá se takto:

phonebook = 'Sally Smart' => '555-9999', 'John Doe' => '555-1212', 'J. Náhodný hacker '=>' 553-1337 ' 

telefonní seznam ['John Doe'] vyrábí '555-1212'

Chcete-li iterovat přes hash, použijte něco jako následující:

phonebook.each | key, value | vloží klíč + "=>" + hodnota 

Každý klíč může být navíc zobrazen samostatně:

phonebook.each_key | key | dá klíč 

Každá hodnota může být také zobrazena:

phonebook.each_value | value | dává hodnotu 

Reference

  • Syntaxe PHP a Ruby, porovnání vedle sebe