PHP vs. Ruby

PHP a Ruby sú PHPrubínBlokovať oddeľovač komentárov / * a * / = začiatok a = koniec; tiež akýkoľvek text po __END__ Ukončenie výpisu Stredník bol ukončený Nový riadok bol ukončený Polia dynamicky veľké Áno Áno Oddeľovač vložených komentárov // a # # vyučovanie Áno Áno Operátor zreťazenia reťazcov . (Bodka) + (znamienko plus) Programovacie paradigmy imperatív, objektovo orientovaný, reflexný Imperatívny, objektovo orientovaný, reflexný, aspektovo orientovaný, funkčný OOP (Object Oriented Programming) Áno, jedno dedičstvo. Áno, ale nemusíte. Podporované viacrozmerné polia Áno Áno Prístup k prvkom poľa $ Array [i] array [i] Kontrola typu dynamický dynamický Syntax pre dĺžku reťazca strlen ($ string) string.size alebo string.length Zbierka odpadu Áno Áno Vektorizované operácie Áno Áno Syntax porovnávania reťazcov strcmp ($ string1, $ string2) string1 string2 Syntax testovania rovnosti reťazcov $ string1 == $ string2 string1 == string2 písanie na stroji Slabé písanie Silne napísané Syntax vyhľadávania reťazca strpos ($ string, $ podřetězec [, startpos]) vráti FALSE, ak sa hľadaná položka ($ podřetězec) nenájde string.index (podreťazec [, startpos]) vráti nulu, ak hľadaná položka (podreťazec) nebola nájdená Syntax formátovania reťazcov sprintf (formátovanie, položky) sprintf (formátovanie, položky) Syntax na pripojenie k množstvu reťazcov implode (separator, array_of_strings) array_of_strings.join (oddeľovač) Syntax pre podreťazec subst (string, startpos, numChars) string [startpos, numChars] Syntax pre vyhľadávanie a nahradenie v rámci reťazca str_replace ($ find, $ nahradiť, $ string) string.gsub (nájsť, nahradiť) Zamýšľané použitie Webové aplikácie, CLI Aplikácie, skriptovanie Syntax na zmenu reťazca strrev ($ string) string.reverse Ciele jazykového dizajnu Robustnosť a jednoduchosť Expresivita, čitateľnosť Syntax pre prevod reťazca na veľké písmená strtoupper ($ string) string.upcase Príklady použitia WordPress, Wikipedia Indiegogo, Hulu

Obsah: PHP vs Ruby

  • 1 Asociatívne polia v PHP vs. Ruby
    • 1.1 PHP
    • 1,2 Ruby
  • 2 Referencie

Asociatívne polia v PHP vs. Ruby

PHP

Vstavaný typ poľa PHP je v skutočnosti asociatívne pole. Aj keď sa používajú číselné indexy, PHP ho interne ukladá ako asociatívne pole. To je dôvod, prečo jeden v PHP môže mať nesekvenčné numericky indexované polia. Kľúče musia byť skalárne hodnoty (reťazec, číslo s pohyblivou rádovou čiarkou alebo celé číslo), zatiaľ čo hodnoty môžu byť ľubovoľného typu vrátane iných polí a objektov. Polia sú heterogénne; jedno pole môže mať kľúče rôznych typov. Asociatívne polia PHP môžu byť použité na znázornenie stromov, zoznamov, zásobníkov, frontov a ďalších bežných dátových štruktúr, ktoré nie sú zabudované do PHP.

V PHP môže byť asociatívne pole vytvorené jedným z dvoch spôsobov:

$ phonebook = array (); $ phonebook ['Sally Smart'] = '555-9999'; $ telefónny zoznam ['John Doe'] = '555-1212'; $ Telefónny zoznam [ 'J. Random Hacker '] =' 555-1337 '; // alebo $ phonebook = array ('Sally Smart' => '555-9999', 'John Doe' => '555-1212', 'J. Random Hacker' => '555-1337',); // alebo $ telefónny zoznam ['kontakty'] ['Sally Smart'] ['number'] = '555-9999'; $ phonebook ['contact'] ['John Doe'] ['number'] = '555-1212'; $ Telefónneho zoznamu [ 'kontaktuje'] [ 'J. Random Hacker '] [' number '] =' 555-1337 '; 

Môžete tiež prechádzať cez asociatívne pole v PHP nasledovne:

foreach ($ phonebook as $ name => $ number) echo "Číslo pre $ name: $ number \ n";  
// V poslednom príklade poľa sa používa takto foreach ($ phonebook ['contact'] ako $ name => $ num) echo "Name: $ name"; echo "Number: $ num ['number']";  

PHP má rozsiahlu sadu funkcií, ktoré fungujú na poliach.

rubín

V Ruby sa pridružené pole nazýva hash a používa sa nasledovne:

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

telefónny zoznam ['John Doe'] produkuje '555-1212'

Ak chcete iterovať cez hash, použite niečo ako toto:

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

Každý kľúč môže byť navyše zobrazený jednotlivo:

phonebook.each_key | key | kladie kľúč 

Každá hodnota sa môže zobraziť aj:

phonebook.each_value | value | dáva hodnotu 

Referencie

  • Syntax PHP a Ruby, porovnanie vedľa seba