PHP vs. Ruby

PHP y Ruby son lenguajes de script del lado del servidor, que se usan más comúnmente para desarrollar páginas web.

Gráfica comparativa

Tabla comparativa de PHP versus Ruby
PHPRubí
Bloquear comentarios delimitador / * y * / = comenzar y = terminar; también cualquier texto después de __END__
Terminadores de declaración Punto y coma terminado Nueva linea terminada
Arreglos dinámicamente dimensionados
Delimitador de comentarios en línea // y # #
Las clases
Operador de concatenacion de cuerdas . (punto) + (el signo más)
Paradigmas de programacion imperativo, orientado a objetos, reflexivo Imperativo, orientado a objetos, reflexivo, orientado a aspectos, funcional
OOP (Programación Orientada a Objetos) Sí, herencia única.. Sí, pero no tienes que.
Arreglos multidimensionales soportados
Acceso a elementos de matriz $ array [i] array [i]
Verificación de tipos Dinámica Dinámica
Sintaxis para la longitud de la cadena strlen ($ string) string.size o string.length
Recolección de basura
Operaciones vectorizadas
Sintaxis de comparación de cadenas strcmp ($ string1, $ string2) string1 string2
Sintaxis de prueba de igualdad de cadenas $ string1 == $ string2 string1 == string2
Mecanografía Tipificación débil Fuertemente mecanografiado
Sintaxis de búsqueda de cadenas strpos ($ string, $ substring [, startpos]) devuelve FALSE si no se encontró el elemento de búsqueda ($ substring) string.index (subcadena [, startpos]) devuelve nil si no se encuentra el elemento de búsqueda (subcadena)
Sintaxis de formato de cadena sprintf (formatstring, elementos) sprintf (formatstring, elementos)
Sintaxis para unir una matriz de cadenas implode (separador, array_of_strings) array_of_strings.join (separador)
Sintaxis para subcadena substr (string, startpos, numChars) cadena [startpos, numChars]
Sintaxis para buscar y reemplazar dentro de una cadena str_replace ($ encontrar, $ reemplazar, $ cadena) string.gsub (buscar, reemplazar)
Uso previsto Aplicaciones web, CLI Aplicaciones, scripting
Sintaxis para revertir una cadena strrev ($ string) string.reverse
Objetivos de diseño de idiomas Robustez y simplicidad. Expresividad, legibilidad
Sintaxis para convertir la cadena a mayúsculas strtoupper ($ string) string.upcase
Ejemplos de uso WordPress, Wikipedia Indiegogo, Hulu

Contenido: PHP vs Ruby

  • 1 Arrays asociativos en PHP vs. Ruby
    • 1.1 PHP
    • 1.2 rubí
  • 2 referencias

Arreglos asociativos en PHP vs. Ruby

PHP

El tipo de matriz integrado de PHP es en realidad una matriz asociativa. Incluso cuando se utilizan índices numéricos, PHP los almacena internamente como una matriz asociativa. Es por esto que uno en PHP puede tener matrices indexadas numéricamente no consecutivas. Las claves deben ser valores escalares (cadena, número de punto flotante o entero), mientras que los valores pueden ser de tipos arbitrarios, incluidos otros arreglos y objetos. Las matrices son heterogéneas; Una sola matriz puede tener claves de diferentes tipos. Las matrices asociativas de PHP se pueden usar para representar árboles, listas, pilas, colas y otras estructuras de datos comunes no incorporadas en PHP.

En PHP, una matriz asociativa se puede formar de una de dos maneras:

$ phonebook = array (); $ guía telefónica ['Sally Smart'] = '555-9999'; $ phonebook ['John Doe'] = '555-1212'; $ agenda ['J. Random Hacker '] =' 555-1337 '; // o $ phonebook = array ('Sally Smart' => '555-9999', 'John Doe' => '555-1212', 'J. Random Hacker' => '555-1337',); // o $ agenda ['contactos'] ['Sally Smart'] ['número'] = '555-9999'; $ agenda ['contactos'] ['John Doe'] ['número'] = '555-1212'; $ agenda ['contactos'] ['J. Random Hacker '] [' number '] =' 555-1337 '; 

También puede recorrer una matriz asociativa en PHP de la siguiente manera:

foreach ($ agenda como $ nombre => $ número) echo "Número para $ nombre: $ número \ n";  
// Para el último ejemplo de matriz, se usa así para foreach ($ phonebook ['contacts'] como $ name => $ num) echo "Name: $ name"; echo "Número: $ num ['número']";  

PHP tiene un amplio conjunto de funciones para operar en arrays.

Rubí

En Ruby, una matriz asociada se llama un hash y se usa de la siguiente manera:

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

agenda ['John Doe'] produce '555-1212'

Para iterar sobre el hash, usa algo como lo siguiente:

phonebook.each | clave, valor | pone clave + "=>" + valor 

Además, cada tecla puede ser mostrada individualmente:

phonebook.each_key | key | pone clave 

Cada valor también se puede mostrar:

phonebook.each_value | value | pone valor 

Referencias

  • Sintaxis de PHP y Ruby, comparación lado a lado