PHP gegen Ruby

PHP und Ruby sind serverseitige Skriptsprachen, die am häufigsten zum Entwickeln von Webseiten verwendet werden.

Vergleichstabelle

PHP versus Ruby Vergleichstabelle
PHP Rubin
Kommentarbegrenzer blockieren/* und */= Anfang und = Ende; auch jeder Text nach __END__
AnweisungsabschlusszeichenSemikolon beendetNewline beendet
Arrays mit dynamischer GrößeJaJa
Trennzeichen für Inline-Kommentare// und ##
KlassenJaJa
String-Verkettungsoperator. (Punkt)+ (das Pluszeichen)
Programmierparadigmenimperativ, objektorientiert, reflektierendImperativ, objektorientiert, reflektierend, aspektorientiert, funktional
OOP (Objektorientierte Programmierung)Ja, Einzelvererbung.Ja, aber das musst du nicht.
Mehrdimensionale Arrays werden unterstütztJaJa
Zugriff auf Array-Elemente$ array [i]Array [i]
TypprüfungDynamischDynamisch
Syntax für die Zeichenfolgenlängestrlen ($ string)string.size oder string.length
MüllabfuhrJaJa
Vektorisierte OperationenJaJa
String-Vergleichssyntaxstrcmp ($ string1, $ string2)string1 string2
Syntax zum Testen der Zeichenfolgengleichheit$ string1 == $ string2string1 == string2
TippenSchwache EingabeStark getippt
String-Suchsyntaxstrpos ($ string, $ substring [, startpos]) gibt FALSE zurück, wenn das Suchelement ($ substring) nicht gefunden wurdestring.index (Teilzeichenfolge [, Startpos]) gibt null zurück, wenn das Suchelement (Teilzeichenfolge) nicht gefunden wurde
Syntax für die Formatierung von Zeichenfolgensprintf (Formatzeichenfolge, Elemente)sprintf (Formatzeichenfolge, Elemente)
Syntax zum Verbinden eines Arrays von Zeichenfolgenimplodieren (Trennzeichen, array_of_strings)array_of_strings.join (Trennzeichen)
Syntax für Teilzeichenfolgesubstr (string, startpos, numChars)string [startpos, numChars]
Syntax zum Suchen und Ersetzen innerhalb einer Zeichenfolgestr_replace ($ find, $ replace, $ string)string.gsub (suchen, ersetzen)
VerwendungszweckWebanwendungen, CLIAnwendungen, Skripte
Syntax zum Umkehren eines Stringsstrrev ($ string)string.reverse
SprachdesignzieleRobustheit und EinfachheitAusdruckskraft, Lesbarkeit
Syntax zum Konvertieren von Zeichenfolgen in Großbuchstabenstrtoupper ($ string)string.upcase
AnwendungsbeispieleWordPress, WikipediaIndiegogo, Hulu

Assoziative Arrays in PHP vs. Ruby

PHP

Der in PHP integrierte Array-Typ ist in Wirklichkeit ein assoziatives Array. Selbst wenn numerische Indizes verwendet werden, speichert PHP diese intern als assoziatives Array. Aus diesem Grund kann man in PHP nicht aufeinanderfolgende numerisch indizierte Arrays haben. Die Schlüssel müssen skalare Werte sein (Zeichenfolge, Gleitkommazahl oder Ganzzahl), während Werte von beliebigem Typ sein können, einschließlich anderer Arrays und Objekte. Die Arrays sind heterogen; Ein einzelnes Array kann Schlüssel verschiedener Typen enthalten. Die assoziativen Arrays von PHP können verwendet werden, um Bäume, Listen, Stapel, Warteschlangen und andere allgemeine Datenstrukturen darzustellen, die nicht in PHP integriert sind.

In PHP kann ein assoziatives Array auf zwei Arten gebildet werden:

 $ phonebook = array (); $ phonebook ['Sally Smart'] = '555-9999'; $ phonebook ['John Doe'] = '555-1212'; $ phonebook ['J. Random Hacker '] =' 555-1337 '; // oder $ phonebook = array ('Sally Smart' => '555-9999', 'John Doe' => '555-1212', 'J. Random Hacker' => '555-1337', ); // oder $ phonebook ['Kontakte'] ['Sally Smart'] ['Nummer'] = '555-9999'; $ phonebook ['Kontakte'] ['John Doe'] ['Nummer'] = '555-1212'; $ phonebook ['Kontakte'] ['J. Random Hacker '] [' number '] =' 555-1337 '; 

Sie können ein assoziatives Array in PHP auch wie folgt durchlaufen:

 foreach ($ phonebook als $ name => $ number) {echo "Nummer für $ name: $ number \ n"; }} 
 // Für das letzte Array-Beispiel wird es wie folgt verwendet: foreach ($ phonebook ['Kontakte'] als $ name => $ num) {echo "Name: {$ name}"; echo "Number: {$ num ['number']}"; }} 

PHP verfügt über umfangreiche Funktionen zur Bearbeitung von Arrays.

Rubin

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 '} 

phonebook['John Doe'] produziert '555-1212'

Verwenden Sie Folgendes, um den Hash zu durchlaufen:

 phonebook.each gibt den Schlüssel + "=>" + Wert ein 

Zusätzlich kann jeder Schlüssel einzeln angezeigt werden:

 phonebook.each_key key 

Jeder Wert kann auch angezeigt werden:

 phonebook.each_value setzt Wert 

Ähnlicher Artikel