|
Oct
13
|
En esta entrada vere un poco de operaciones basicas con numeros y algunas de las tantas funciones disponibles.
Operaciones aritmeticas
Tenemos las 4 operaciones basicas de suma, resta, multiplicacion y division, ademas del modulo o residuo como vemos en el siguiente ejemplo:
echo 5 + 3;
echo 9 - 2;
echo 2 * 3;
echo 10 / 2;
echo 14 % 5; // residuo de 14/5
?>
87654
Como vimos en la entrada anterior tambien es posible hacer estas operaciones con variables, como:
$a = 324;
$b = 983;
$suma = $a + $b;
$ultimo = $suma % 10; // el residuo de un entero con 10 es el ultimo digito
echo "La suma de $a con $b termina en $ultimo";
?>
La suma de 324 con 983 termina en 7
Precedencia de operadores
Asi como en otros lenguajes, los operadores tienen distinta precedencia, esto indica que operacion se debe realizar primero. Por ejemplo:
echo 2 + 3 * 4;
?>
14
En este ejemplo se realiza la multiplicacion primero, puesto que el operador * tiene precedencia sobre la suma. Si queremos cambiar la precedencia podemos usar parentesis, veamos un par de ejemplos:
$a = 2 + 3 * 4; # 14
$b = (2 + 3) * 4; # 20
$c = 20 - 10 / 5; # 18
$d = (20 - 10) / 5; # 2
$e = 20 / 5 % 3; # 1 (/ tiene precedencia sobre %)
$f = 20 / (5 % 3); # 10
?>
Para ver una lista con las precedencias, click aqui.
Operadores combinados
Si bien tiene relación con los operadores de asignación, creo se ajusta mejor en esta entrada. Para explicar que es un operador combinado veamos la siguiente situacion:
$a = 5;
$a = $a + 10;
?>
En el ejemplo a la variable $a le sumamos 10 y guardamos el resultado en la misma variable. En otras palabras incrementamos el valor de $a en 10. Para este caso, asi como para las otras tres operaciones basicas existe un pequeño atajo que son los operadores combinados:
$a = 5;
$a += 20; # a = a + 20
$a -= 10; # a = a - 10
$a *= 3; # a = a * 3
$a /= 5; # a = a / 5
echo $a;
?>
9
Comenzamos con 5, incrementamos en 20(=25), restamos 10(=15), multiplicamos por 3(=45) y finalmente dividimos por 5(=9).
En el caso de incremento y decremento por 1 existen otros operadores.
Operadores de incremento y decremento
Estos operadores funcionan de la siguiente forma:
$a = $b = 5;
$a++; // aumenta el valor de $a en 1
$b--; // disminuye el valor de $a en 1
echo "a:$a b:$b";
?>
a:6 b:4
Tambien es posible escribir ++$a que no es exactamente igual. Ambos incrementan el valor de $a en 1, la diferencia es cuando. Veamos el siguiente ejemplo:
$a = $b = 5;
$c = $a++; // $c recibe 5, luego $a es incrementado en 1
$d = ++$b; // $b es icrementado en 1, luego $d recibe 6
echo "a = $a, b = $b, c = $c, d = $d";
?>
a = 6, b = 6, c = 5, d = 6
Aqui el unico que queda con 5 es $c puesto que recibe el valor de $a antes de que ocurra el incremento. Asi el operador ++ o — colocado despues de la variable se llama de post-incremento, mientras que si esta a la izquierda de la variable es de pre-incremento.
Numeros, funciones basicas
Php dispone de algunas funciones para calculos matematicos, como por ejemplo potencias y raices:
$a = sqrt(9); // raiz cuadrada de 9
$b = pow(2,3); // 2 elevado a 3 (2*2*2)
// Tambien podemos usar pow para sacar raices
$c = pow(9,0.5); // raiz cuadrada de 9 (9 elevado a 1/2)
$d = pow(27, 1/3); // raiz cubica de 27
// Un ejemplo
$num = 64;
$raiz = sqrt($num);
echo "La raiz cuadrada de $num es $raiz";
?>
La raiz cuadrada de 64 es 8
Funciones de redondeo como:
echo ceil(5.32)."<br />"; // Redondear hacia arriba
echo floor(12.99); // Redondear hacia abajo
?>
6 12
Para calcular maximo, minimo, valor absoluto, generar numeros aleatorios;
$maximo = max(6,3,4,8,25,13,17);
$minimo = min(5,2,4,9);
$positivo = abs(-5); # 5
$aleatorio = rand(1,20); // random entre 1 y 20
echo "Maximo: $maximo, Minimo: $minimo";
?>
Maximo: 25, Minimo: 2
Tambien trigonometricas para calcular seno, coseno, tangente y otros:
/* Las funciones como sin, cos, asin trabajan con radianes.
Para transformar a grados y viceversa se puede usar:
deg2rad(): grados a radianes
rad2deg(): radianes a grados */
echo 'π/4 en radianes vale: '.deg2rad(45).'<br />';
/* Php ademas cuenta con una funcion y una constante para
el valor de pi, la funcion es pi(), la constante M_PI */
echo "El coseno de pi es ".cos(M_PI).'<br />';
// aca transformo el resultado de asin a grados
echo "El arcoseno de raiz(2)/2 es ".rad2deg(asin(sqrt(2)/2));
?>
π/4 en radianes vale: 0.78539816339745 El coseno de pi es -1 El arcoseno de raiz(2)/2 es 45
Para mas funciones pueden visitar el manual de referencia, tambien pueden revisar la lista de constantes matematicas.
Hasta aqui por esta entrada.




Ultimos comentarios