PHP VS. Rubí
- 818
- 61
- Horacio Apodaca
PHP y Ruby son lenguajes de secuencias de comandos del lado del servidor: más comúnmente utilizados para desarrollar páginas web.
Cuadro comparativo
Diferencias - similitudes -Php | Rubí | |
---|---|---|
|
| |
Bloquear comentarios delimitador | /* y */ | = begin y = final; también cualquier texto después de __end__ |
Terminadores de declaración | Semicolon terminado | Nueva línea terminada |
Matrices de tamaño dinámico | Sí | Sí |
Delimitador de comentarios en línea | // y # | # |
Clases | Sí | Sí |
Operador de concatenación de cadenas | . (punto) | + (el signo más) |
Paradigmas de programación | imperativo, orientado a objetos, reflexivo | Imperativo, orientado a objetos, reflexivo, orientado a los aspectos, funcional |
OOP (programación orientada a objetos) | Sí, herencia única. | Sí, pero no tienes que hacerlo. |
Matrices multidimensionales compatibles | Sí | Sí |
Acceso al elemento de matriz | $ matriz [i] | matriz [i] |
Tipo de comprobación | Dinámica | Dinámica |
Sintaxis para la longitud de la cadena | strlen ($ string) | cadena.tamaño o cadena.longitud |
Recolección de basura | Sí | Sí |
Operaciones vectorizadas | Sí | Sí |
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 escrito |
Sintaxis de búsqueda de cadenas | strpos ($ string, $ substring [, startPos]) Devuelve falso si el elemento de búsqueda ($ subcandinato) no se encuentra | cadena.Índice (subcubre [, startPos]) Devuelve nil si el elemento de búsqueda (subcadena) no se encuentra |
Sintaxis de formato de cadena | sprintf (formatString, elementos) | sprintf (formatString, elementos) |
Sintaxis para unir una variedad de cuerdas | Implicar (separador, array_of_strings) | array_of_strings.unirse (separador) |
Sintaxis para la subcadena | subStr (string, startPos, numchars) | String [startPos, numchars] |
Sintaxis para buscar y reemplazar dentro de la cadena | str_replace ($ find, $ reemplazar, $ string) | cadena.gsub (encontrar, reemplazar) |
Uso previsto | Aplicaciones web, CLI | Aplicaciones, secuencias de comandos |
Sintaxis para revertir una cadena | Strrev ($ String) | cadena.contrarrestar |
Objetivos de diseño del idioma | Robustez y simplicidad | Expresividad, legibilidad |
Sintaxis para convertir la cadena en mayúsculas | strtoupper ($ string) | cadena.caso |
Ejemplos de uso | WordPress, Wikipedia | Indiegogo, Hulu |
Matrices asociativas en PHP vs. Rubí
Php
El tipo de matriz incorporado de PHP es en realidad una matriz asociativa. Incluso cuando se usa índices numéricos, PHP lo almacena internamente como una matriz asociativa. Es por eso que uno en PHP puede tener matrices indexadas numéricamente no consecutivas. Las teclas deben ser valores escalares (cadena, número de punto flotante o entero), mientras que los valores pueden ser de tipos arbitrarios, incluidas otras matrices y objetos. Las matrices son heterogéneas; Una sola matriz puede tener teclas de diferentes tipos. Las matrices asociativas de PHP se pueden usar para representar árboles, listas, pilas, colas y otras estructuras de datos comunes no integradas en PHP.
En PHP, se puede formar una matriz asociativa de una de dos maneras:
$ Phonebook = Array (); $ Phonebook ['Sally Smart'] = '555-9999'; $ Phonebook ['John Doe'] = '555-1212'; $ Libera telefónica ['J. Hacker aleatorio '] =' 555-1337 '; // o $ PhoneBook = Array ('Sally Smart' => '555-9999', 'John Doe' => '555-1212', 'J. Hacker aleatorio '=>' 555-1337 ',); // o $ Phonebook ['Contacts'] ['Sally Smart'] ['Number'] = '555-9999'; $ Phonebook ['Contactos'] ['John Doe'] ['Número'] = '555-1212'; $ Libera telefónica ['Contactos'] ['J. Hacker aleatorio '] [' número '] =' 555-1337 ';
También puede recorrer una matriz asociativa en PHP de la siguiente manera:
Foreach ($ Phonebook como $ name => $ número) echo "número para $ name: $ number \ n";
// Para el último ejemplo de matriz, se usa de manera esta foreach ($ 5, ['contactos'] como $ name => $ num) echo "nombre: $ name"; echo "Número: $ num ['número']";
PHP tiene un extenso conjunto de funciones para operar en matrices.
Rubí
En Ruby, una matriz asociada se llama hash y se usa de la siguiente manera:
Phonebook = 'Sally Smart' => '555-9999', 'John Doe' => '555-1212', 'J. Hacker aleatorio '=>' 553-1337 '
Libreta telefónica ['John Doe']
produce '555-1212'
Para iterar sobre el hash, use algo como lo siguiente:
directorio telefónico.cada | clave, valor | Pone la clave + "=>" + valor
Además, cada clave puede mostrarse individualmente:
directorio telefónico.cada_key | clave | Punta la tecla
También se puede mostrar cada valor:
directorio telefónico.cada_value | valor | pone valor