PHP vs Ruby

PHP och Ruby är skriptspråk på serverns sida - vanligtvis används för att utveckla webbsidor.

Jämförelsediagram

PHP mot Ruby jämförelse diagram
PHPRubin
Blockera kommentarer avgränsare / * och * / = start och = slut; också någon text efter __END__
Uttalande terminatorer Semikolon avslutad Newline avslutas
Arrays dynamiskt dimensionerade Ja Ja
Inline kommentarer avgränsar // och # #
Klasser Ja Ja
Strängförbindningsoperatör . (punkt) + (plustecknet)
Programmeringsparadigmer imperativ, objektorienterad, reflekterande Imperativ, objektorienterad, reflekterande, aspektorienterad, funktionell
OOP (Objektorienterad programmering) Ja, enda arv. Ja, men du behöver inte.
Multidimensionella arrayer stöds Ja Ja
Array element access $ Array [i] array [i]
Skriv kontroll Dynamisk Dynamisk
Syntax för stränglängd strlen ($ string) string.size eller string.length
Skräp samling Ja Ja
Vectoriserade operationer Ja Ja
String jämförelse syntax strcmp ($ string1, $ string2) string1 string2
String jämställdhets test syntax $ string1 == $ string2 string1 == string2
Skriver Svag typing Starkt skrivet
String-söksyntax strpos ($ string, $ substring [, startpos]) returnerar FALSE om sökobjekt ($ substring) inte hittades string.index (substring [, startpos]) returnerar noll om sökobjekt (substring) inte hittades
Stringformateringssyntax sprintf (formatstring, objekt) sprintf (formatstring, objekt)
Syntax för att ansluta till en rad strängar implodera (separator, array_of_strings) array_of_strings.join (separator)
Syntax för substring substr (sträng, startpos, numChars) sträng [startpos, numChars]
Syntax för sökning och ersätt inom sträng str_replace ($ find, $ replace, $ string) string.gsub (hitta, ersätt)
Avsedd användning Webapplikationer, CLI Applikationer, skript
Syntax för att vända en sträng strrev ($ string) string.reverse
Språkdesign mål Robusthet och enkelhet Expressiveness, Readability
Syntax för konvertering av sträng till stor bokstav strtoupper ($ string) string.upcase
Exempel på användning WordPress, Wikipedia Indiegogo, Hulu

Innehåll: PHP vs Ruby

  • 1 Associative Arrays i PHP vs. Ruby
    • 1,1 PHP
    • 1.2 Ruby
  • 2 referenser

Associativa Arrays i PHP vs Ruby

PHP

PHPs inbyggda array-typ är i realiteten en associativ array. Även när man använder numeriska index, lagrar PHP det internt som en associativ array. Det är därför som en i PHP kan ha icke-konsekutiva numeriskt indexerade arrayer. Nycklarna måste vara skalärvärden (sträng, flytpunktsnummer eller heltal), medan värden kan vara av godtyckliga typer, inklusive andra rader och objekt. Arrayerna är heterogena; En enda grupp kan ha nycklar av olika typer. PHPs associativa arrayer kan användas för att representera träd, listor, staplar, köer och andra vanliga datastrukturer som inte är inbyggda i PHP.

I PHP kan en associativ grupp bildas på ett av två sätt:

$ telefonbok = array (); $ telefonbok ['Sally Smart'] = '555-9999'; $ telefonbok ['John Doe'] = '555-1212'; $ Telefonboken [ 'J. Slumpmässig Hacker '] =' 555-1337 '; // eller $ telefonbok = array ('Sally Smart' => '555-9999', 'John Doe' => '555-1212', 'J. Random Hacker' => '555-1337'); // eller $ telefonbok ['kontakter'] ['Sally Smart'] ['number'] = '555-9999'; $ telefonbok ['kontakter'] ['John Doe'] ['number'] = '555-1212'; $ Telefonbok [ 'kontakter'] [ 'J. Slumpmässig Hacker '] [' number '] =' 555-1337 '; 

Du kan också loopa genom en associativ array i PHP enligt följande:

foreach ($ telefonbok som $ name => $ number) echo "Nummer för $ name: $ number \ n";  
// För det sista arrayexempelet används den som denna förhand ($ telefonbok ['kontakter'] som $ name => $ num) echo "Name: $ name"; echo "Nummer: $ num ['number']";  

PHP har en omfattande uppsättning funktioner för att fungera på arrays.

Rubin

I Ruby heter en associerad array en Hash och används enligt följande:

telefonbok = 'Sally Smart' => '555-9999', 'John Doe' => '555-1212', 'J. Slumpmässig Hacker '=>' 553-1337 ' 

telefonbok ['John Doe'] producerar '555-1212'

För att iterera över hash, använd något som följande:

phonebook.each | key, value | sätter nyckel + "=>" + värde 

Dessutom kan varje nyckel visas individuellt:

phonebook.each_key | key | sätter nyckel 

Varje värde kan också visas:

phonebook.each_value | value | sätter värde 

referenser

  • PHP och Ruby-syntax, jämförelse sida vid sida