PHP versus Ruby

PHP en Ruby zijn scriptingtalen aan de serverzijde - het meest gebruikt om webpagina's te ontwikkelen.

Vergelijkingstabel

Vergelijkingsgrafiek PHP versus Ruby
PHPRobijn
Afbakening van opmerkingen blokkeren / * en * / = begin en = einde; ook elke tekst na __END__
Terminators van de verklaring Puntkomma beëindigd Newline beëindigd
Arrays dynamisch bemeten Ja Ja
Scheidingspunt voor inline opmerkingen // en # #
Klassen Ja Ja
String concatenatie-operator . (punt) + (het plusteken)
Programmeerparadigma's imperatief, objectgericht, reflecterend Dwingend, objectgericht, reflecterend, aspectgericht, functioneel
OOP (Object Oriented Programming) Ja, enkele erfenis. Ja, maar dat hoeft niet.
Multidimensionale arrays ondersteund Ja Ja
Toegang tot array-elementen $ Matrix [i] matrix [i]
Type controle Dynamisch Dynamisch
Syntaxis voor tekenreekslengte strlen ($ string) string.size of string.length
Garbage Collection Ja Ja
Gevectoriseerde operaties Ja Ja
Syntaxis van tekenreeksvergelijking strcmp ($ string1, $ string2) string1 string2
Syntaxis voor syntaxis voor synchroniciteitstest $ string1 == $ string2 string1 == string2
Typen Zwak typen Sterk getypt
Syntaxis van tekenreeks zoeken strpos ($ string, $ substring [, startpos]) retourneert FALSE als het zoekitem ($ substring) niet wordt gevonden string.index (substring [, startpos]) retourneert nul als zoekitem (substring) niet wordt gevonden
Syntaxis van tekenreeks opmaken sprintf (formatstring, items) sprintf (formatstring, items)
Syntaxis om lid te worden van een reeks tekenreeksen implode (scheidingsteken, array_of_strings) array_of_strings.join (separator)
Syntaxis voor subtekenreeks substr (string, startpos, numChars) string [startpos, numChars]
Syntaxis voor zoeken en vervangen binnen string str_replace ($ find, $ replace, $ string) string.gsub (zoeken, vervangen)
Beoogd gebruik Web-applicaties, CLI Toepassingen, scripting
Syntaxis voor het omkeren van een string strrev ($ string) string.reverse
Taalontwerpdoelen Robuustheid en eenvoud Expressiviteit, leesbaarheid
Syntaxis voor het converteren van tekenreeks naar hoofdletters strtoupper ($ string) string.upcase
Voorbeelden van gebruik WordPress, Wikipedia Indiegogo, Hulu

Inhoud: PHP versus Ruby

  • 1 Associatieve reeksen in PHP versus Ruby
    • 1.1 PHP
    • 1.2 Ruby
  • 2 referenties

Associatieve reeksen in PHP versus Ruby

PHP

PHP's ingebouwde array type is in werkelijkheid een associatieve array. Zelfs bij gebruik van numerieke indexen slaat PHP het intern op als een associatieve array. Dit is de reden waarom iemand in PHP niet-opeenvolgende numeriek geïndexeerde arrays kan hebben. De sleutels moeten scalaire waarden zijn (tekenreeks, drijvende-kommawaarde of integer), terwijl waarden van willekeurige typen kunnen zijn, inclusief andere arrays en objecten. De matrices zijn heterogeen; een enkele array kan sleutels van verschillende typen bevatten. PHP's associatieve arrays kunnen worden gebruikt om bomen, lijsten, stapels, wachtrijen en andere gemeenschappelijke datastructuren weer te geven die niet in PHP zijn ingebouwd.

In PHP kan een associatieve array op twee manieren worden gevormd:

$ phonebook = array (); $ phonebook ['Sally Smart'] = '555-9999'; $ phonebook ['John Doe'] = '555-1212'; $ Telefoonboek [ 'J. Random Hacker '] =' 555-1337 '; // or $ phonebook = array ('Sally Smart' => '555-9999', 'John Doe' => '555-1212', 'J. Random Hacker' => '555-1337',); // or $ phonebook ['contacts'] ['Sally Smart'] ['number'] = '555-9999'; $ phonebook ['contacts'] ['John Doe'] ['number'] = '555-1212'; $ Telefoonboek [ 'contacten'] [ 'J. Random Hacker '] [' number '] =' 555-1337 '; 

Je kunt ook als volgt een associatieve array doorlopen in PHP:

foreach ($ phonebook as $ name => $ number) echo "Number for $ name: $ number \ n";  
// Voor het laatste array-voorbeeld wordt dit als volgt gebruikt voor elk ($ phonebook ['contacts'] als $ name => $ num) echo "Name: $ name"; echo "Number: $ num ['number']";  

PHP heeft een uitgebreide reeks functies om op arrays te werken.

Robijn

In Ruby wordt een associate array een hash genoemd en wordt als volgt gebruikt:

telefoonboek = 'Sally Smart' => '555-9999', 'John Doe' => '555-1212', 'J. Willekeurige hacker '=>' 553-1337 ' 

telefoonboek ['John Doe'] produceert '555-1212'

Als u de hash wilt herhalen, gebruikt u zoiets als het volgende:

telefoonboek.elkaar | sleutel, waarde | zet toets + "=>" + waarde 

Bovendien kan elke toets afzonderlijk worden getoond:

phoneebook.each_key | key | zet sleutel 

Elke waarde kan ook worden getoond:

telefoonboek.each_value | waarde | zet waarde 

Referenties

  • PHP- en Ruby-syntaxis, zij aan zij vergelijking