PHP vs. Ruby

PHP og Ruby er PHPRubinBloker kommentarafgrænser / * og * / = begynde og = slut; også enhver tekst efter __END__ Udsagnsterminatorer Semikolon afsluttet Newline afsluttet Arrays dynamisk størrelse Ja Ja Inline kommentarafgrænser // og # # Klasser Ja Ja String sammenkædningsoperatør . (Dot) + (plustegnet) Programmeringsparadigmer imperativ, objektorienteret, reflekterende Imperativt, objektorienteret, reflekterende, aspektorienteret, funktionelt OOP (objektorienteret programmering) Ja, enkelt arv. Ja, men det behøver du ikke. Multidimensionelle arrays understøttet Ja Ja Adgang til arrayelement $ Array [i] array [i] Skriv kontrol Dynamisk Dynamisk Syntaks for strengelængde strlen ($ string) string.size eller string.length Dagrenovation Ja Ja Vectoriserede operationer Ja Ja Strenge sammenligningssyntax strcmp ($ string1, $ string2) streng1 streng2 Syntaks for strengestillingstest $ string1 == $ string2 streng1 == streng2 Typing Svag indtastning Stærkt indtastet Strengsøgningssyntax strpos ($ streng, $ substring [, startpos]) returnerer FALSE, hvis søgeemnet ($ substring) ikke findes string.index (substring [, startpos]) returnerer nul, hvis søgeemnet (substring) ikke findes Strengformateringssyntaks sprintf (formatstreng, genstande) sprintf (formatstreng, genstande) Syntaks til sammenføjning af en række strenge implode (separator, array_of_strings) array_of_strings.join (separator) Syntaks til substring substr (streng, startpos, numChars) streng [startpos, numChars] Syntaks til søgning og erstatning inden for streng str_replace ($ find, $ erstatte, $ string) string.gsub (find, erstatte) Anvendelsesformål Webapplikationer, CLI Programmer, scripting Syntaks til reversering af en streng strrev ($ string) string.reverse Sprogdesignmål Robusthed og enkelhed Ekspressivitet, læsbarhed Syntaks til konvertering af streng til store bogstaver strtoupper ($ string) string.upcase Eksempler på brug WordPress, Wikipedia Indiegogo, Hulu

Indhold: PHP vs Ruby

  • 1 Associative Arrays i PHP vs. Ruby
    • 1.1 PHP
    • 1.2 Ruby
  • 2 Henvisninger

Associative Arrays i PHP vs. Ruby

PHP

PHPs indbyggede array-type er i virkeligheden en associativ matrix. Selv når du bruger numeriske indekser, gemmer PHP det internt som et tilknyttet array. Dette er grunden til, at en i PHP kan have ikke-fortløbende numerisk indekserede arrays. Tasterne skal være skalære værdier (streng, flydepunktnummer eller heltal), mens værdier kan være af vilkårlige typer, herunder andre arrays og objekter. Matriserne er heterogene; en enkelt matrix kan have nøgler af forskellige typer. PHPs associerende arrays kan bruges til at repræsentere træer, lister, stabler, køer og andre almindelige datastrukturer, der ikke er indbygget i PHP.

I PHP kan en associativ matrix dannes på en af ​​to måder:

$ telefonbog = matrix (); $ telefonbog ['Sally Smart'] = '555-9999'; $ telefonbog ['John Doe'] = '555-1212'; $ Telefonbog [ 'J. Random Hacker '] =' 555-1337 '; // eller $ telefonbog = array ('Sally Smart' => '555-9999', 'John Doe' => '555-1212', 'J. Random Hacker' => '555-1337',); // eller $ telefonbog ['kontakter'] ['Sally Smart'] ['number'] = '555-9999'; $ telefonbog ['kontakter'] ['John Doe'] ['number'] = '555-1212'; $ Telefonbog [ 'kontakter'] [ 'J. Random Hacker '] [' number '] =' 555-1337 '; 

Du kan også gå gennem en associerende matrix i PHP som følger:

foreach ($ telefonbog som $ name => $ number) echo "Number for $ name: $ number \ n";  
// I det sidste arrayeksempel bruges det som denne forespørgsel ($ telefonbog ['kontakter'] som $ name => $ num) echo "Navn: $ navn"; ekko "Number: $ num ['number']";  

PHP har et omfattende sæt funktioner til at betjene på arrays.

Rubin

I Ruby kaldes en associeret matrix en Hash og bruges som følger:

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

telefonbog ['John Doe'] producerer '555-1212'

Hvis du vil iterere over hasjen, skal du bruge noget som følgende:

telefonbog.each | nøgle, værdi | sætter nøgle + "=>" + værdi 

Derudover kan hver tast vises individuelt:

telefonbog.each_key | nøgle | sætter nøgle 

Hver værdi kan også vises:

telefonbog.each_value | værdi | sætter værdi 

Referencer

  • PHP og Ruby syntaks, sammenligning side om side