PHP contre Ruby

PHP et Ruby sont des langages de script côté serveur - les plus couramment utilisés pour développer des pages Web.

Tableau de comparaison

Tableau de comparaison PHP versus Ruby
PHP Rubis
Délimiteur de commentaires de bloc/* et */= début et = fin; également tout texte après __END__
Terminateurs de relevésPoint-virgule terminéFin de la nouvelle ligne
Tableaux dimensionnés dynamiquementOuiOui
Délimiteur de commentaires en ligne// et ##
Des classesOuiOui
Opérateur de concaténation de chaînes. (point)+ (le signe plus)
Paradigmes de programmationimpératif, orienté objet, réfléchissantImpératif, orienté objet, réfléchissant, orienté aspect, fonctionnel
POO (programmation orientée objet)Oui, l'héritage unique.Oui, mais ce n'est pas obligatoire.
Tableaux multidimensionnels pris en chargeOuiOui
Accès aux éléments du tableau$ array [i]tableau [i]
Vérification de typeDynamiqueDynamique
Syntaxe de la longueur de chaînestrlen ($ string)string.size ou string.length
Collecte des orduresOuiOui
Opérations vectoriséesOuiOui
Syntaxe de comparaison de chaînesstrcmp ($ string1, $ string2)string1 string2
Syntaxe de test d'égalité de chaîne$ string1 == $ string2string1 == string2
DactylographieTypage faibleFortement tapé
Syntaxe de recherche de chaînestrpos ($ string, $ substring [, startpos]) renvoie FALSE si l'élément de recherche ($ substring) est introuvablestring.index (substring [, startpos]) renvoie nil si l'élément de recherche (substring) n'est pas trouvé
Syntaxe de formatage des chaînessprintf (formatstring, éléments)sprintf (formatstring, éléments)
Syntaxe pour joindre un tableau de chaînesimploser (séparateur, array_of_strings)array_of_strings.join (séparateur)
Syntaxe de la sous-chaînesubstr (chaîne, startpos, numChars)chaîne [startpos, numChars]
Syntaxe de recherche et de remplacement dans une chaînestr_replace ($ find, $ replace, $ string)string.gsub (rechercher, remplacer)
Utilisation conformeApplications Web, CLIApplications, scripts
Syntaxe pour inverser une chaînestrrev ($ string)string.reverse
Objectifs de conception linguistiqueRobustesse et simplicitéExpressivité, lisibilité
Syntaxe pour convertir une chaîne en majusculesstrtoupper ($ string)string.upcase
Exemples d'utilisationWordPress, WikipediaIndiegogo, Hulu

Tableaux associatifs en PHP vs Ruby

PHP

Le type de tableau intégré de PHP est en réalité un tableau associatif. Même lors de l'utilisation d'index numériques, PHP le stocke en interne sous forme de tableau associatif. C'est pourquoi un en PHP peut avoir des tableaux indexés numériquement non consécutifs. Les clés doivent être des valeurs scalaires (chaîne, nombre à virgule flottante ou entier), tandis que les valeurs peuvent être de types arbitraires, y compris d'autres tableaux et objets. Les tableaux sont hétérogènes; un seul tableau peut avoir des clés de différents types. Les tableaux associatifs de PHP peuvent être utilisés pour représenter des arbres, des listes, des piles, des files d'attente et d'autres structures de données communes non intégrées à PHP.

En PHP, un tableau associatif peut être formé de deux manières:

 $ phonebook = array (); $ répertoire ['Sally Smart'] = '555-9999'; $ phonebook ['John Doe'] = '555-1212'; $ répertoire ['J. Random Hacker '] =' 555-1337 '; // ou $ phonebook = array ('Sally Smart' => '555-9999', 'John Doe' => '555-1212', 'J. Random Hacker' => '555-1337', ); // ou $ répertoire ['contacts'] ['Sally Smart'] ['numéro'] = '555-9999'; $ phonebook ['contacts'] ['John Doe'] ['number'] = '555-1212'; $ répertoire ['contacts'] ['J. Random Hacker '] [' number '] =' 555-1337 '; 

Vous pouvez également parcourir un tableau associatif en PHP comme suit:

 foreach ($ phonebook as $ name => $ number) {echo "Numéro pour $ name: $ number \ n"; } 
 // Pour le dernier exemple de tableau, il est utilisé comme ceci foreach ($ phonebook ['contacts'] as $ name => $ num) {echo "Name: {$ name}"; echo "Number: {$ num ['number']}"; } 

PHP dispose d'un ensemble complet de fonctions pour fonctionner sur des tableaux.

Rubis

Dans Ruby, un tableau associé est appelé Hash et est utilisé comme suit:

 répertoire = {'Sally Smart' => '555-9999', 'John Doe' => '555-1212', 'J. Random Hacker '=>' 553-1337 '} 

phonebook['John Doe'] produit '555-1212'

Pour parcourir le hachage, utilisez quelque chose comme ceci:

 phonebook.each met clé + "=>" + valeur 

De plus, chaque clé peut être affichée individuellement:

 touche phonebook.each_key 

Chaque valeur peut également être affichée:

 phonebook.each_value met de la valeur 

Articles Connexes