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 — Potência
Descrição
Retorna a base elevada ao expoente exp .
Aviso
No PHP 4.0.6 e anteriores pow() sempre retorna um float, e não emitia avisos.
Parâmetros
- base
-
A base para usar
- exp
-
O expoente
Valor Retornado
base raiz para potência de exp . Se o resultado pode ser representado como inteiro, será retornado como tipo integer, senão retornará como tipo float. Se a potência não pode ser computado, FALSE será retornado.
Histórico
| Versão | Descrição |
|---|---|
| Since 4.0.6 | A função irá agora retornará resultados integer se possível, antes disto sempre retornava um resultado float. Para antigas versões, você pode receber um resultado falso para números complexos. |
| Since 4.2.0 | PHP parou de emitir um aviso se o valor não pode ser computado, irá agora silenciosamento somente retornar FALSE. |
Exemplos
Exemplo #1 Alguns exemplos 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
16-Jul-2008 08:14
16-Jul-2008 08:14
Docey
04-May-2007 03:33
04-May-2007 03: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 01:50
15-Dec-2006 01: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 06:27
10-May-2006 06: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 02:02
31-Dec-2004 02: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 12:26
10-Nov-2004 12: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 05:03
18-Mar-2004 05: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 01:01
18-Jul-2003 01: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.
