PHP vs. Rubin
- 3200
- 234
- Prokop Cebula
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 | Rubin | |
---|---|---|
|
| |
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ść