PHP: Expresiones en definiciones
Las variables son útiles no solo para almacenar y reutilizar información. También son necesarias para simplificar cálculos complejos. En esta lección aprenderemos a hacerlo.
Usando una expresión
Supongamos que necesitamos convertir euros a yuanes a través de dólares. Estas conversiones a través de una moneda intermedia son comunes en los bancos al realizar compras en el extranjero.
Primero, convertiremos 50 euros a dólares. Supongamos que un euro equivale a 1.25 dólares:
<?php
$cantidadDolares = 50 * 1.25;
print_r($cantidadDolares);
Anteriormente, asignábamos un valor específico a una variable. Pero aquí, en $cantidadDolares = 50 * 1.25;
, a la derecha del signo igual hay una expresión. El intérprete calculará el resultado, que es 62.5
, y lo asignará a la variable.
Para el intérprete, no importa si tiene 62.5
o 50 * 1.25
delante de él. Ambas opciones son expresiones que deben calcularse. Y se calculan con el mismo valor, 62.5
.
Cualquier cadena de texto es una expresión. La concatenación de cadenas también es una expresión. Cuando el intérprete encuentra una expresión, la procesa y genera un resultado, que es el valor de la expresión.
Aquí tienes algunos ejemplos de expresiones, y a la derecha de cada expresión se muestra el valor resultante:
<?php
62.5 // 62.5
50 * 1.25 // 62.5
120 / 10 * 2 // 24
(int) '100' // 100
"hello" // "hello"
"Good" . "will" // "Goodwill"
Ahora vamos a asignar el valor del dólar en yuanes como una variable separada. Calcularemos el precio de 50 euros en dólares multiplicándolos por 1.25
. Supongamos que 1 dólar equivale a 6.91 yuanes:
<?php
$yuanesPorDolar = 6.91;
$cantidadDolares = 50 * 1.25; // 62.5
$cantidadYuanes = $cantidadDolares * $yuanesPorDolar; // 431.875
print_r($cantidadYuanes);
Cualquier variable puede formar parte de cualquier expresión. En el momento del cálculo, el valor de la variable se sustituye en lugar de su nombre. El intérprete calcula el valor de $cantidadDolares
antes de que se utilice en otras expresiones. Cuando llega el momento de usar la variable, PHP ya conoce su valor porque ya lo ha calculado.
Usando variables con concatenación
También se pueden usar variables con concatenación. Sintácticamente, no cambia nada: sabemos cómo concatenar (unir) dos cadenas de texto:
<?php
$que = "Kings" . "road";
print_r($que); // => "Kingsroad"
// Concatenamos una cadena de texto y una variable que contiene una cadena de texto
$primera = "Kings";
$que = $primera . "road";
print_r($que); // => "Kingsroad"
// Concatenamos dos variables que contienen cadenas de texto
$ultima = 'road';
$que = $primera . $ultima;
print_r($que); // => "Kingsroad"
Tarea
Escribe un programa que tome la cantidad inicial de euros de la variable $cantidadEuros
, convierta los euros a dólares y muestre el valor en pantalla. Luego, el programa debe convertir el valor obtenido a yuanes y mostrar el resultado en una nueva línea.
Ejemplo de salida para 100 euros:
125
863.75
¿El ejercicio no pasa la prueba, qué debo hacer? 😶
Si te quedaste atascado, es el momento perfecto para hacer una pregunta en las "Discusiones".
* Asegúrate de incluir la salida de las pruebas. Sin ella, es casi imposible entender qué está mal, incluso si muestras tu código. Los programadores tienen dificultades para ejecutar el código en su mente, pero casi siempre es posible entender a dónde mirar a partir del error que recibiste.
Mi código funciona en mi entorno, pero no aquí 🤨
Las pruebas están diseñadas de manera que verifican la solución de diferentes maneras y con diferentes datos. A menudo, una solución funciona con ciertos datos de entrada pero no con otros. Para entender este punto, revisa la pestaña "Pruebas" y presta atención a los mensajes de error, que suelen contener pistas.
Mi código es diferente a la solución del profesor 🤔
Esto es normal 🙆. En programación, una tarea puede tener muchas soluciones diferentes. Si tu código pasa la prueba, cumple con los requisitos de la tarea.
En raras ocasiones, la solución puede estar ajustada para pasar las pruebas, pero esto suele ser evidente.
Leí la lección, pero no entendí nada 🙄
Crear materiales de aprendizaje comprensibles para todos es bastante difícil. Hacemos nuestro mejor esfuerzo, pero siempre hay margen para mejorar. Si encuentras material que no entiendes, describe el problema en las "Discusiones". Es ideal si puedes formular los aspectos que no entiendes en forma de preguntas. Por lo general, necesitamos unos días para hacer mejoras.
Por cierto, tú también puedes contribuir a mejorar los cursos: en la parte inferior hay un enlace al código fuente de las lecciones, que se puede modificar directamente en el navegador.
Consejos útiles
Para hacer un salto de línea, puedes usar
\n
entre la impresión de los dólares y los yuanes.