PHP vs. Rubin

PHP vs. Rubin

PHP i Ruby są językami skryptowymi po stronie serwera - najczęściej używane do tworzenia stron internetowych.

Wykres porównania

Różnice - podobieństwa - PHP kontra wykres porównawczy Ruby
PhpRubin
  • Obecna ocena to 3.66/5
  • 1
  • 2
  • 3
  • 4
  • 5
(114 ocen)
  • Obecna ocena to 3.46/5
  • 1
  • 2
  • 3
  • 4
  • 5
(103 oceny)
Block Comments Delimiter /* I */ = początek i = end; także każdy tekst po __end__
Terminatory instrukcji Półkolis zakończył się Newline zakończył
Tablice dynamicznie rozmiar Tak Tak
Wbudowane komentarze delimiter // I # #
Zajęcia Tak Tak
Operator konatenacji ciągów . (kropka) + (znak plus)
Paradygmaty programowania konieczne, zorientowane na obiekt, refleksyjne Konieczne, zorientowane na obiekt, refleksyjne, zorientowane na aspekt, funkcjonalne
OOP (programowanie obiektowe) Tak, pojedyncze dziedzictwo. Tak, ale nie musisz.
Obsługiwane wielowymiarowe tablice Tak Tak
Dostęp do elementu tablicy $ array [i] tablica [i]
Sprawdzanie typu Dynamiczny Dynamiczny
Składnia długości ciągów Strlen ($ string) strunowy.rozmiar lub ciąg.długość
Zbieranie śmieci Tak Tak
Operacje wektoryzowane Tak Tak
Składnia porównania ciągów strcmp ($ string1, $ string2) String1 String2
Składnia równości String Testowanie $ string1 == $ string2 String1 == String2
Pisanie na maszynie Słabe pisanie Silnie wpisane
Składnia wyszukiwania ciągów strpos ($ string, $ substring [, startPos]) zwraca false, jeśli pozycja wyszukiwania ($ substring) nie znaleziono strunowy.indeks (podłoże [, startpos]) zwraca zero, jeśli element wyszukiwania (podaj) nie znaleziono
Składnia formatowania ciągu Sprintf (FormatString, przedmioty) Sprintf (FormatString, przedmioty)
Składnia do dołączenia do szeregu ciągów Implode (separator, array_of_strings) array_of_strings.dołącz (separator)
Składnia do podrzędu substr (string, startpos, numchars) String [startpos, numchars]
Składnia wyszukiwania i zastąpienie w ciągu str_replace ($ find, $ zamień, $ string) strunowy.gsub (znajdź, wymień)
Przeznaczenie Aplikacje internetowe, CLI Aplikacje, skrypty
Składnia do odwrócenia ciągu strrev ($ string) strunowy.odwracać
Cele projektowania języka Solidność i prostota Ekspresowość, czytelność
Składnia do przekształcania ciągów w górną skrzynkę strtoupper ($ string) strunowy.Upcase
Przykłady użytkowania WordPress, Wikipedia Indiegogo, Hulu

Tablice asocjacyjne w PHP vs. Rubin

Php

Wbudowany typ tablicy PHP jest w rzeczywistości tablicą asocjacyjną. Nawet podczas korzystania z indeksów numerycznych PHP wewnętrznie przechowuje go jako tablicę asocjacyjną. Właśnie dlatego jeden w PHP może mieć nieobsencyjne tablice indeksowane numerycznie. Klucze muszą być wartościami skalarnymi (ciąg, liczba zmiennoprzecinkowa lub liczba całkowita), podczas gdy wartości mogą mieć dowolne typy, w tym inne tablice i obiekty. Tablice są niejednorodne; Pojedyncza tablica może mieć klucze różnych typów. Tablice asocjacyjne PHP mogą być używane do reprezentowania drzew, list, stosów, kolejek i innych wspólnych struktur danych, które nie są wbudowane w PHP.

W PHP tablica asocjacyjna można utworzyć na jeden z dwóch sposobów:

$ fhonebook = array (); $ fhone Book [„Sally Smart”] = '555-9999'; $ fhone Book ['John Doe'] = '555-1212'; $ fhone Book ['j. Random Hacker '] =' 555-1337 '; // lub $ fhonebook = tablica („Sally Smart” => '555-9999', „John Doe” => '555-1212', 'j. Random Hacker '=>' 555-1337 ',); // lub $ fhonebook ['contacts'] ['Sally Smart'] ['Number'] = '555-9999'; $ fhone Book ['kontakty'] ['John Doe'] ['numer'] = '555-1212'; $ fhone Book [„kontakty”] ['j. Random Hacker '] [' liczba '] =' 555-1337 '; 

Możesz także zapętlić tablicę asocjacyjną w PHP w następujący sposób:

foreach ($ fhonebook jako $ name => $ number) echo "Number dla $ name: $ numer \ n";  
// dla ostatniego przykładu tablicy jest używany jak ten foreach ($ fhonebook ['contacts'] jako $ name => $ num) echo "name: $ name"; echo "numer: $ num ['liczba']";  

PHP ma obszerny zestaw funkcji do działania na tablicach.

Rubin

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

Phonebook = 'Sally Smart' => '555-9999', „John Doe '=>' 555-1212 ',' j. Losowy haker '=>' 553-1337 ' 

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

Aby iterować z haszu, użyj czegoś takiego:

książka telefoniczna.Każdy | klucz, wartość | Umieszcza klucz + "=>" + wartość 

Dodatkowo każdy klucz może być wyświetlany indywidualnie:

książka telefoniczna.każdy_key | klucz | umieszcza klucz 

Można również pokazać każdą wartość:

książka telefoniczna.każdy_value | wartość | stawia wartość