PHP e Ruby sono linguaggi di scripting lato server, più comunemente usati per sviluppare pagine Web.
PHP | Rubino | |
---|---|---|
Blocca il delimitatore dei commenti | /* e */ | = inizio e = fine; anche qualsiasi testo dopo __END__ |
Terminatori di dichiarazione | Punto e virgola terminati | Newline terminato |
Array dimensionati dinamicamente | sì | sì |
Delimitatore di commenti in linea | // e # | # |
Classi | sì | sì |
Operatore di concatenazione di stringhe | . (punto) | + (il segno più) |
Paradigmi di programmazione | imperativo, orientato agli oggetti, riflessivo | Imperativo, orientato agli oggetti, riflessivo, orientato all'aspetto, funzionale |
OOP (Programmazione orientata agli oggetti) | Sì, eredità singola. | Sì, ma non devi. |
Array multidimensionali supportati | sì | sì |
Accesso agli elementi dell'array | $ Array [i] | array [i] |
Digitare il controllo | Dinamico | Dinamico |
Sintassi per la lunghezza della stringa | strlen ($ string) | string.size o string.length |
Raccolta dei rifiuti | sì | sì |
Operazioni vettorializzate | sì | sì |
Sintassi di confronto delle stringhe | strcmp ($ stringa1, $ stringa2) | string1 stringa2 |
Sintassi dei test di uguaglianza delle stringhe | $ stringa1 == $ stringa2 | string1 == stringa2 |
Digitando | Debole digitazione | Fortemente tipizzato |
Sintassi di ricerca delle stringhe | strpos ($ string, $ substring [, startpos]) restituisce FALSE se non viene trovato l'elemento di ricerca ($ sottostringa) | string.index (substring [, startpos]) restituisce nil se l'elemento di ricerca (sottostringa) non viene trovato |
Sintassi di formattazione delle stringhe | sprintf (formatstring, items) | sprintf (formatstring, items) |
Sintassi per l'unione di un array di stringhe | implode (separatore, array_of_strings) | array_of_strings.join (separatore) |
Sintassi per sottostringa | substr (string, startpos, numChars) | string [startpos, numChars] |
Sintassi per la ricerca e la sostituzione all'interno della stringa | str_replace ($ find, $ replace, $ string) | string.gsub (trova, sostituisci) |
Uso previsto | Applicazioni Web, CLI | Applicazioni, scripting |
Sintassi per invertire una stringa | strrev ($ string) | string.reverse |
Obiettivi di progettazione linguistica | Robustezza e semplicità | Espressività, leggibilità |
Sintassi per la conversione della stringa in lettere maiuscole | strtoupper ($ string) | string.upcase |
Esempi di utilizzo | WordPress, Wikipedia | Indiegogo, Hulu |
Il tipo di array integrato di PHP è in realtà un array associativo. Anche quando si utilizzano indici numerici, PHP lo memorizza internamente come array associativo. Questo è il motivo per cui uno in PHP può avere array indicizzati numericamente non consecutivi. Le chiavi devono essere valori scalari (stringa, numero in virgola mobile o intero), mentre i valori possono essere di tipi arbitrari, inclusi altri matrici e oggetti. Gli array sono eterogenei; un singolo array può avere chiavi di diverso tipo. Gli array associativi di PHP possono essere utilizzati per rappresentare alberi, elenchi, stack, code e altre strutture dati comuni non integrate in PHP.
In PHP, un array associativo può essere formato in due modi:
$ phonebook = array (); $ phonebook ['Sally Smart'] = '555-9999'; $ phonebook ['John Doe'] = '555-1212'; $ Rubrica [ 'J. Random Hacker '] =' 555-1337 '; // o $ phonebook = array ('Sally Smart' => '555-9999', 'John Doe' => '555-1212', 'J. Random Hacker' => '555-1337',); // o $ phonebook ['contacts'] ['Sally Smart'] ['numero'] = '555-9999'; $ phonebook ['contacts'] ['John Doe'] ['number'] = '555-1212'; $ Rubrica [ 'contatti'] [ 'J. Random Hacker '] [' numero '] =' 555-1337 ';
È inoltre possibile eseguire il ciclo di un array associativo in PHP come segue:
foreach ($ phonebook as $ name => $ number) echo "Numero per $ nome: $ numero \ n";
// Per l'ultimo esempio di array viene usato come questo foreach ($ phonebook ['contacts'] come $ name => $ num) echo "Nome: $ name"; echo "Numero: $ num ['numero']";
PHP ha un ampio set di funzioni per operare sugli array.
In Ruby un array associato è chiamato Hash ed è usato come segue:
phonebook = 'Sally Smart' => '555-9999', 'John Doe' => '555-1212', 'J. Random Hacker '=>' 553-1337 '
rubrica ['John Doe']
produce '555-1212'
Per ripetere l'hash, usa qualcosa di simile al seguente:
phonebook.each | chiave, valore | mette chiave + "=>" + valore
Inoltre, ciascuna chiave può essere mostrata individualmente:
phonebook.each_key | key | mette la chiave
Ogni valore può anche essere mostrato:
phonebook.each_value | valore | mette valore