PHP contro Ruby
PHP e Ruby sono linguaggi di scripting lato server - più comunemente usati per sviluppare pagine Web.
Tabella di confronto
PHP | Rubino | |
---|---|---|
Delimitatore di blocco dei commenti | /* e */ | = inizio e = fine; anche qualsiasi testo dopo __END__ |
Terminatori di dichiarazioni | Punto e virgola terminato | Newline terminato |
Matrici dimensionate 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ì, singola eredità. | Sì, ma non è necessario. |
Matrici multidimensionali supportate | sì | sì |
Accesso agli elementi dell'array | $ Array [i] | array [i] |
Tipo di 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 del confronto delle stringhe | strcmp ($ string1, $ string2) | stringa1 stringa2 |
Sintassi del test sull'uguaglianza delle stringhe | $ string1 == $ string2 | string1 == string2 |
Digitando | Digitazione debole | Fortemente tipizzato |
Sintassi della ricerca di stringhe | strpos ($ string, $ substring [, startpos]) restituisce FALSE se l'elemento di ricerca ($ substring) non viene trovato | string.index (substring [, startpos]) restituisce zero se l'elemento di ricerca (substring) non viene trovato |
Sintassi della formattazione delle stringhe | sprintf (formattazione, elementi) | sprintf (formattazione, elementi) |
Sintassi per unire una matrice di stringhe | implode (separator, array_of_strings) | array_of_strings.join (separatore) |
Sintassi per sottostringa | substr (stringa, startpos, numChars) | stringa [startpos, numChars] |
Sintassi per la ricerca e la sostituzione all'interno della stringa | str_replace ($ find, $ replace, $ string) | string.gsub (trova, sostituisci) |
Destinazione d'uso | Applicazioni Web, CLI | Applicazioni, scripting |
Sintassi per invertire una stringa | strrev ($ string) | string.reverse |
Obiettivi di progettazione del linguaggio | Robustezza e semplicità | Espressività, leggibilità |
Sintassi per convertire la stringa in maiuscolo | strtoupper ($ string) | string.upcase |
Esempi di utilizzo | WordPress, Wikipedia | Indiegogo, Hulu |
Matrici associative in PHP contro Ruby
PHP
Il tipo di array incorporato di PHP è in realtà un array associativo. Anche quando si utilizzano indici numerici, PHP lo memorizza internamente come un 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 tipo arbitrario, inclusi altri array e oggetti. Le matrici sono eterogenee; un singolo array può avere chiavi di diversi tipi. Gli array associativi di PHP possono essere utilizzati per rappresentare alberi, elenchi, stack, code e altre strutture di 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 $ rubrica = array ('Sally Smart' => '555-9999', 'John Doe' => '555-1212', 'J. Random Hacker' => '555-1337', ); // o $ rubrica ['contatti'] ['Sally Smart'] ['number'] = '555-9999'; $ phonebook ['contatti'] ['John Doe'] ['number'] = '555-1212'; $ Rubrica [ 'contatti'] [ 'J. Random Hacker '] [' number '] =' 555-1337 ';
Puoi anche eseguire il loop in un array associativo in PHP come segue:
foreach ($ rubrica come $ nome => $ numero) {echo "Numero per $ nome: $ numero \ n"; }
// Per l'ultimo esempio di array, viene usato come foreach ($ phonebook ['contatti'] come $ name => $ num) {echo "Name: {$ name}"; echo "Numero: {$ num ['number']}"; }
PHP ha un ampio set di funzioni per operare su array.
Rubino
In Ruby un array associato è chiamato Hash e viene usato come segue:
rubrica = {'Sally Smart' => '555-9999', 'John Doe' => '555-1212', 'J. Hacker casuale '=>' 553-1337 '}
phonebook['John Doe']
produce '555-1212'
Per scorrere l'hash, utilizzare qualcosa di simile al seguente:
phonebook.each mette la chiave + "=>" + valore
Inoltre, ogni tasto può essere mostrato singolarmente:
phonebook.each_key key
Ogni valore può anche essere mostrato:
phonebook.each_value inserisce valore