Calculate wind chill based on the National Weather Service formula.
$temp = 25;
$wind_speed_mph = 6;
$wind_chill = 35.74+(.6215*$temp_f)-(35.75*(pow($wind_speed_mph, 0.16)))+(.4275*$temp_f*(pow($wind_speed_mph, 0.16)));
Value only valid when the temp is 45 or below.... I used this with a weather script I wrote that reads an xml file. They don't provide wind chill.
pow
(PHP 4, PHP 5)
pow — Expresión exponencial
Descripción
Devuelve el valor base elevado a la potencia exp .
Warning
En PHP 4.0.6 y versiones anteriores, pow() siempre devolvía un valor tipo float, y no producía advertencias.
Lista de parámetros
- base
-
La base a ser usada
- exp
-
El exponente
Valores retornados
base elevada a la potencia de exp . Si el resultado puede ser representado como entero, éste será devuelto como integer, de lo contrario será devuelto como float. Si la potencia no puede ser computada, se devolverá FALSE.
Registro de cambios
| Versión | Descripción |
|---|---|
| Desde 4.0.6 | La función devolverá resultados tipo integer si es posible, antes devolvía siempre un resultado float. Para versiones anteriores, es posible que reciba resultados erróneos para números complejos. |
| Desde 4.2.0 | PHP deja de emitir una advertencia si el valor no puede ser computado, ahora sólo devolverá un valor FALSE silenciosamente. |
Ejemplos
Example #1 Algunos ejemplos de pow()
<?php
var_dump(pow(2, 8)); // int(256)
echo pow(-1, 20); // 1
echo pow(0, 0); // 1
echo pow(-1, 5.5); // PHP >4.0.6 NAN
echo pow(-1, 5.5); // PHP <=4.0.6 1.#IND
?>
pow
Matt Dudley
17-Jul-2008 12:14
17-Jul-2008 12:14
Docey
04-May-2007 07:33
04-May-2007 07:33
no integer breaking here, pow just silently switches to using floats instead of integers.
pow(2, 31) = integer value
pow(2, 32) = float value.
the manual says the limit for floats is machine dependent so i did a little loop to see how far it will go before becomming infinit. the result is 1023.
pow(2, 1023) = float
pow(2, 1024) = ifinit.
tested on php 4.4.1 under windows2000 on an AMD AthlonXP 2800+.
gilthansREMOVEME at gmail dot com
15-Dec-2006 04:50
15-Dec-2006 04:50
Note that pow(0, 0) equals to 1 on PHP 4 (only tested it there), although mathematically this is undefined.
moikboy (nospam) moikboy (nospam) hu
10-May-2006 10:27
10-May-2006 10:27
Here is a function for calculating the $k-th root of $a :
<?php
function root($a,$k){return(($a<0&&$k%2>0)?-1:1)*pow(abs($a),1/$k);};
?>
louis [at] mulliemedia.com
31-Dec-2004 05:02
31-Dec-2004 05:02
Here's a pow() function that allows negative bases :
<?php
function npow($base, $exp)
{
$result = pow(abs($base), $exp);
if ($exp % 2 !== 0) {
$result = - ($result);
}
return $result;
}
?>
janklopper .AT. gmail dot.com
10-Nov-2004 03:26
10-Nov-2004 03:26
since pow doesn't support decimal powers, you can use a different sollution,
thanks to dOt for doing the math!
a^b = e^(b log a)
which is no the 10log but the e-log (aka "ln")
so instead of: pow( $a , 0.6 ) use something like: exp( 0.6 * log($a) )
matthew underscore kay at ml1 dot net
18-Mar-2004 08:03
18-Mar-2004 08:03
As of PHP5beta4, pow() with negative bases appears to work correctly and without errors (from a few cursory tests):
pow(-3, 3) = -27
pow(-3, 2) = 9
pow(-5, -1) = -0.2
bishop
18-Jul-2003 05:01
18-Jul-2003 05:01
A couple of points on pow():
1. One of the official examples of pow(2,8) is not pragmatic; use 1 << 8 as it's substantially faster
2. When passing variables to pow(), cast them otherwise you might get warnings on some versions of PHP
3. All the rules of algebra apply: b**(-e) is 1/(b**e), b**(p/q) is the qth root of b**p
So, e.g., sqrt($x) === pow($x, .5); but sqrt() is faster.
