PHP und Ruby sind serverseitige Skriptsprachen, die meistens zur Entwicklung von Webseiten verwendet werden.
PHP | Rubin | |
---|---|---|
Trennzeichen für Kommentare blockieren | /* und */ | = Anfang und = Ende; auch beliebiger Text nach __END__ |
Anweisungsabschlüsse | Semikolon beendet | Newline beendet |
Arrays haben eine dynamische Größe | Ja | Ja |
Trennzeichen für Inline-Kommentare | // und # | # |
Klassen | Ja | Ja |
String Verkettungsoperator | . (Punkt) | + (das Pluszeichen) |
Programmierparadigmen | Imperativ, objektorientiert, reflektierend | Imperativ, objektorientiert, reflektierend, aspektorientiert, funktional |
OOP (Objektorientierte Programmierung) | Ja, einzelne Vererbung. | Ja, aber du musst nicht. |
Multi-dimensionale Arrays werden unterstützt | Ja | Ja |
Zugriff auf Array-Elemente | $ array [i] | Array [i] |
Typprüfung | Dynamisch | Dynamisch |
Syntax für die Stringlänge | strlen ($ string) | string.size oder string.length |
Müllsammlung | Ja | Ja |
Vektorisierte Operationen | Ja | Ja |
Stringvergleichssyntax | strcmp ($ string1, $ string2) | string1 string2 |
Syntax zum Testen der Gleichheit von Zeichenfolgen | $ string1 == $ string2 | string1 == string2 |
Tippen | Schwaches Tippen | Stark getippt |
String-Suchsyntax | strpos ($ string, $ substring [, startpos]) gibt FALSE zurück, wenn das Suchelement ($ substring) nicht gefunden wurde | string.index (substring [, startpos]) gibt null zurück, wenn das Suchelement (substring) nicht gefunden wurde |
Syntax für die Formatierung von Zeichenfolgen | sprintf (formatstring, items) | sprintf (formatstring, items) |
Syntax zum Verbinden eines String-Arrays | implode (Trennzeichen, array_of_strings) | array_of_strings.join (Trennzeichen) |
Syntax für Teilzeichenfolge | substr (string, startpos, numChars) | string [startpos, numChars] |
Syntax für Suchen und Ersetzen in String | str_replace ($ find, $ replace, $ string) | string.gsub (Suchen, Ersetzen) |
Verwendungszweck | Webanwendungen, CLI | Anwendungen, Scripting |
Syntax zum Umkehren eines Strings | strrev ($ string) | string.reverse |
Ziele des Sprachdesigns | Robustheit und Einfachheit | Ausdruckskraft, Lesbarkeit |
Syntax zum Konvertieren von String in Großbuchstaben | strtoupper ($ string) | string.upcase |
Anwendungsbeispiele | WordPress, Wikipedia | Indiegogo, Hulu |
Der eingebaute Array-Typ von PHP ist in Wirklichkeit ein assoziatives Array. Selbst wenn Sie numerische Indizes verwenden, speichert PHP es intern als assoziatives Array. Aus diesem Grund kann eine in PHP nicht fortlaufende numerisch indizierte Arrays enthalten. Die Schlüssel müssen skalare Werte sein (Zeichenfolge, Gleitkommazahl oder Ganzzahl), während die Werte von beliebigen Typen sein können, einschließlich anderer Arrays und Objekte. Die Arrays sind heterogen. Ein einzelnes Array kann unterschiedliche Schlüssel haben. Die assoziativen Arrays von PHP können verwendet werden, um Bäume, Listen, Stapel, Warteschlangen und andere übliche Datenstrukturen darzustellen, die nicht in PHP integriert sind.
In PHP kann ein assoziatives Array auf zwei Arten gebildet werden:
$ phonebook = array (); $ Telefonbuch ['Sally Smart'] = '555-9999'; $ Telefonbuch ['John Doe'] = '555-1212'; $ Telefonbuch ['J. Zufälliger Hacker '] =' 555-1337 '; // oder $ phonebook = array ('Sally Smart' => '555-9999', 'John Doe' => '555-1212', 'J. Random Hacker' => '555-1337',); // oder $ Telefonbuch ['contact'] ['Sally Smart'] ['number'] = '555-9999'; $ Telefonbuch ['contact'] ['John Doe'] ['number'] = '555-1212'; $ Telefonbuch ['Kontakte'] ['J. Zufälliger Hacker '] [' number '] =' 555-1337 ';
Sie können ein assoziatives Array in PHP auch wie folgt durchlaufen:
foreach ($ Telefonbuch als $ name => $ number) echo "Nummer für $ name: $ number \ n";
// Für das letzte Array-Beispiel wird es wie folgt für foreach verwendet ($ phonebook ['contact'] als $ name => $ num) echo "Name: $ name"; echo "Number: $ num ['number']";
PHP verfügt über umfangreiche Funktionen zur Bearbeitung von Arrays.
In Ruby wird ein assoziiertes Array als Hash bezeichnet und wie folgt verwendet:
Telefonbuch = 'Sally Smart' => '555-9999', 'John Doe' => '555-1212', 'J. Zufälliger Hacker '=>' 553-1337 '
Telefonbuch ['John Doe']
produziert '555-1212'
Um über den Hash zu iterieren, verwenden Sie Folgendes:
phonebook.each | key, value | setzt Schlüssel + "=>" + Wert
Zusätzlich kann jeder Schlüssel einzeln angezeigt werden:
phonebook.each_key | key | Schlüssel setzen
Jeder Wert kann auch angezeigt werden:
phonebook.each_value | value | legt Wert