PHP vs Ruby

PHP og Ruby er server-side scripting språk - oftest brukt til å utvikle nettsider.

Sammenligningstabell

PHP versus Ruby sammenligning diagram
PHPRubin
Blokker kommentarer avgrensning / * og * / = start og = slutt; også noen tekst etter __END__
Statement terminators Semikolon avsluttet Newline avsluttet
Arrays dynamisk størrelse Ja Ja
Inline kommentarer avgrensning // og # #
klasser Ja Ja
Stringkonsentasjonsoperatør . (punktum) + (plustegnet)
Programmeringsparadigmer imperativ, objektorientert, reflekterende Imperative, objektorientert, reflekterende, aspektorientert, funksjonelt
OOP (Objektorientert programmering) Ja, enkelt arv. Ja, men du trenger ikke.
Multidimensjonale arrayer støttes Ja Ja
Array element tilgang $ Rekke [i] rekke [i]
Skriv inn kontroll dynamisk dynamisk
Syntaks for strenglengde strlen ($ string) string.size eller string.length
Søppelsamling Ja Ja
Vectoriserte operasjoner Ja Ja
String sammenligning syntaks strcmp ($ string1, $ string2) string1 string2
Strekprøve syntaks $ string1 == $ string2 string1 == string2
Typing Svak maskinskriving Sterkt skrevet
Stringsøk-syntaks strpos ($ string, $ substring [, startpos]) returnerer FALSE hvis søkeelementet ($ substring) ikke ble funnet string.index (substring [, startpos]) returnerer null hvis søkeelement (substring) ikke funnet
Stringsformatering syntaks sprintf (formatstring, elementer) sprintf (formatstring, elementer)
Syntaks for å bli med i en rekke strenger implodere (separator, array_of_strings) array_of_strings.join (separator)
Syntaks for substring substr (streng, startpos, numChars) streng [startpos, numChars]
Syntaks for søk og erstatt innen streng str_replace ($ find, $ replace, $ string) string.gsub (finn, erstatt)
Tiltenkt bruk Web applikasjoner, CLI Søknader, skripting
Syntaks for å reversere en streng strrev ($ string) string.reverse
Språk design mål Robusthet og enkelhet Ekspressivitet, lesbarhet
Syntaks for å konvertere streng til store bokstaver strtoupper ($ string) string.upcase
Eksempler på bruk WordPress, Wikipedia Indiegogo, Hulu

Innhold: PHP vs Ruby

  • 1 Associative Arrays i PHP vs Ruby
    • 1.1 PHP
    • 1.2 Ruby
  • 2 referanser

Associative Arrays i PHP vs Ruby

PHP

PHPs innebygde array type er i realiteten en assosiativ array. Selv når man bruker numeriske indekser, lagrer PHP internt det som en assosiativ array. Dette er grunnen til at en i PHP kan ha ikke-påfølgende numerisk indekserte arrays. Nøklene må være skalarverdier (streng, flytpunktsnummer eller heltall), mens verdier kan være av vilkårlig type, inkludert andre arrays og objekter. Arrays er heterogene; Et enkelt utvalg kan ha nøkler av forskjellige typer. PHPs associative arrayer kan brukes til å representere trær, lister, stabler, køer og andre vanlige datastrukturer som ikke er innebygd i PHP.

I PHP kan en assosiativ array dannes på en av to måter:

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

Du kan også gå gjennom en associativ array i PHP som følger:

foreach ($ telefonbok som $ name => $ number) echo "Nummer for $ navn: $ nummer \ n";  
// For det siste arrayeksemplet blir det brukt som dette foreach ($ telefonbok ['kontakter'] som $ name => $ num) echo "Name: $ name"; ekko "Nummer: $ num ['number']";  

PHP har et omfattende sett med funksjoner for å operere på arrays.

Rubin

I Ruby kalles en tilknyttet array en Hash og brukes som følger:

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

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

For å iterere over hash, bruk noe som følgende:

phonebook.each | key, value | setter nøkkel + "=>" + verdi 

I tillegg kan hver nøkkel bli vist enkeltvis:

phonebook.each_key | key | setter nøkkelen 

Hver verdi kan også vises:

phonebook.each_value | value | setter verdi 

referanser

  • PHP og Ruby syntaks, side-by-side sammenligning