PHP vs. Ruby

PHP i Ruby są PHPRubinBlokuj separator komentarzy /* i */ = początek i = koniec; także dowolny tekst po __END__ Terminatory wyciągów Średnik zakończony Nowa linia została zakończona Tablice dynamicznie zmieniają rozmiar tak tak Wbudowany separator komentarzy // i # # Klasy tak tak Operator konkatenacji łańcuchów . (kropka) + (znak plus) Paradygmaty programowania imperatywny, obiektowy, refleksyjny Tryb rozkazujący, obiektowy, refleksyjny, aspektowy, funkcjonalny OOP (programowanie obiektowe) Tak, pojedyncze dziedzictwo. Tak, ale nie musisz. Obsługiwane tablice wielowymiarowe tak tak Dostęp do elementu tablicy $ array [i] tablica [i] Sprawdzanie typu Dynamiczny Dynamiczny Składnia długości łańcucha strlen ($ string) string.size lub string.length Zbieranie śmieci tak tak Operacje wektoryzowane tak tak Składnia porównania ciągów strcmp ($ ciąg1, $ ciąg2) string1 string2 Składnia testu równości łańcucha $ string1 == $ string2 string1 == string2 Pisanie na maszynie Słabe pisanie Mocno napisane Składnia wyszukiwania ciągów strpos ($ string, $ substring [, startpos]) zwraca FALSE, jeśli nie znaleziono elementu wyszukiwania ($ substring) string.index (substring [, startpos]) zwraca zero, jeśli nie znaleziono elementu wyszukiwania (substring) Składnia formatowania łańcucha sprintf (ciąg formatujący, elementy) sprintf (ciąg formatujący, elementy) Składnia do łączenia tablicy ciągów implode (separator, tablica_ciągów) array_of_strings.join (separator) Składnia podłańcucha substr (ciąg, startpos, numChars) string [startpos, numChars] Składnia wyszukiwania i zamień w ciągu str_replace ($ find, $ replace, $ string) string.gsub (znajdź, zamień) Przeznaczenie Aplikacje internetowe, CLI Aplikacje, skrypty Składnia do odwracania łańcucha strrev ($ string) string.reverse Cele projektowania języka Solidność i prostota Ekspresyjność, czytelność Składnia do konwersji łańcucha na wielkie litery strtoupper ($ string) string.upcase Przykłady użycia WordPress, Wikipedia Indiegogo, Hulu

Zawartość: PHP vs Ruby

  • 1 tablice asocjacyjne w PHP vs. Ruby
    • 1.1 PHP
    • 1.2 Rubin
  • 2 referencje

Tablice asocjacyjne w PHP vs. Ruby

PHP

Wbudowany typ PHP jest w rzeczywistości tablicą asocjacyjną. Nawet przy użyciu indeksów numerycznych PHP wewnętrznie przechowuje je jako tablicę asocjacyjną. Właśnie dlatego jeden w PHP może mieć nieciągłe tablice indeksowane numerycznie. Klucze muszą być wartościami skalarnymi (ciąg, liczba zmiennoprzecinkowa lub liczba całkowita), podczas gdy wartości mogą być dowolnych typów, w tym innych tablic i obiektów. Tablice są heterogeniczne; pojedyncza tablica może mieć klucze różnych typów. Tablice asocjacyjne PHP mogą służyć do reprezentowania drzew, list, stosów, kolejek i innych typowych struktur danych niewbudowanych w PHP.

W PHP tablicę asocjacyjną można utworzyć na dwa sposoby:

$ phonebook = array (); $ książka telefoniczna [„Sally Smart”] = „555-9999”; $ książka telefoniczna [„John Doe”] = „555-1212”; $ książka telefoniczna [J. Random Hacker '] =' 555-1337 '; // lub $ phonebook = array („Sally Smart” => „555-9999”, „John Doe” => „555-1212”, „J. Random Hacker” => „555-1337”); // lub $ książka telefoniczna [„kontakty”] [„Sally Smart”] [„number”] = „555-9999”; $ książka telefoniczna [„kontakty”] [„John Doe”] [„numer”] = „555-1212”; $ książka telefoniczna [„kontakty”] [„J. Random Hacker '] [' number '] =' 555-1337 '; 

Możesz również wykonać pętlę w tablicy asocjacyjnej w PHP w następujący sposób:

foreach ($ książka telefoniczna jako $ name => $ number) echo "Number for $ name: $ number \ n";  
// W ostatnim przykładzie tablica jest używany tak jak ten foreach ($ phonebook ['kontakty'] jako $ name => $ num) echo "Name: $ name"; echo "Number: $ num ['number']";  

PHP ma szeroki zestaw funkcji do obsługi tablic.

Rubin

W Rubim tablica asocjacyjna jest nazywana skrótem i jest używana w następujący sposób:

książka telefoniczna = „Sally Smart” => „555-9999”, „John Doe” => „555-1212”, „J. Random Hacker '=>' 553-1337 ' 

książka telefoniczna [„John Doe”] produkuje „555-1212”

Aby wykonać iterację po skrócie, użyj czegoś takiego:

phonebook.each | klucz, wartość | wstawia klucz + "=>" + wartość 

Dodatkowo każdy klucz może być pokazany osobno:

phonebook.each_key | key | stawia klucz 

Każda wartość może być również pokazana:

phonebook.each_value | value | stawia wartość 

Bibliografia

  • Składnia PHP i Ruby, porównanie obok siebie