Delicious Bookmark this on Delicious Share on Facebook SlashdotSlashdot It! Digg! Digg



PHP : Function Reference : Mathematical Functions : sqrt

sqrt

Square root (PHP 4, PHP 5)
float sqrt ( float arg )

Example 1161. sqrt() example

<?php
// Precision depends on your precision directive
echo sqrt(9); // 3
echo sqrt(10); // 3.16227766 ...
?>

Related Examples ( Source code ) » sqrt


Code Examples / Notes » sqrt

jouhni

To get any root of a number your can use the pow() function:
pow(8, 1/3)
which gives you the third root of eight.
Jouhni


btharper1221

this is something you can use if you need an exact answer to a root problem, this includes an echo outside of the function to show how it works, it will return it such as
$ret[0] is the number still part of the root (this is the exactness part of it)
$ret[1] is the number of roots and
$ret[2] is 1 or 0, 1 being that there should be an i following the number of roots (imaginary)
<?php
function newrt($val,$rt){
$i = 0;
if(($rt % 2 == 0) && ($val < 1)){
$i = 1;
$val = (-$val);
}
$c = 1;
if(($rt % 2 != 0) && ($val < 0)){
$c = -$c;
$val = -$val;
}
for($d = 2; pow($d,$rt) <= abs($val); $d++){
if($val % (pow($d,$rt)) == 0){
$val = ($val/(pow($d,$rt)));
$c = ($c*$d);
$d--;
}
}
$ret[0] = $val;
$ret[1] = $c;
$ret[2] = $i;
return $ret;
}//end function newrt
$ret = newrt($num,$num2);
if($ret[0] != 1){
if($ret[2] == 0) echo $ret[1]." roots of ".$ret[0];
if($ret[2] == 1) echo $ret[1]."<b><i>i</i></b> roots of ".$ret[0];
}elseif($ret[0] == 1){
if($ret[2] == 0) echo $ret[1];
if($ret[2] == 1) echo "$ret[1]<b><i>i</i></b>";
}
?>


chris dot rutledge

Just a note to say you can take the square root of a negative number - it returns an imaginary number.
One might do it like this
//take initial value of $x
$abs_x = abs($x);
$answer = sqrt($abs_x);
echo $answer;
if ($x < 0) echo"<b><i>i</i></b>";


morvandiumnospam

I find this useful for any grid system where distances need to be computed (maps and graphs, mostly).
Just use the distance between points formula (pseudo-code): sqrt((x2-x1)^2+(y2-y1)^2) to find the distance between two points.


php user

How to calculate triangle's area if you haven't height measure.
You need only sides' measure.
it would have to work.
(formula of erone)
$s1 = side 1
$s2 = side 2
$s3 = side 3
<?
function area($s1,$s2,$s3)
{
$calc1 = ($s1+$s2+$s3)/2;
$calc2 = $p*($p-$s1)*($p-$s2)*($p-$s3);
$result = round(sqrt($p),2);
return $result;
}
?>
example of I use:
<?
//This will make to return the area of a triangle with sides of 3,4,5
$area = area(3,4,5);
echo $area;
?>


php nospam

creating perfect squares... (no decimals)
<?
# initial value
$i = 0;
#set any limit you want
$setSomeLimit = 10000;
# do it! .... do it! ... do it!
do {
  # find the square root
  $sqRoot  = sqrt($i);
 
  # not a decimal? that it is a perfect square! ^_^
  if ( ereg ("^[0-9]{1,12}$", $sqRoot)) {
 
      # suppose that the_square_root = teh_square_root
      print "
perfect_square_root is of $i is $sqRoot";
  }
$i++; # next!!
# keeps running until it reaches the limit
} while ($i < $setSomeLimit);
?>


bishop

Compute a triangle's area:
function triangleArea($a, $b /* ... */) {
   if (func_num_args() === 3) {
       $s = .5 * ($a + $b + ($c = func_get_arg(2)));
       return sqrt($s * ($s-$a) * ($s-$b) * ($s-$c));
   } else {
       return (.5 * $a * $b);
   }
}
With 2 args, parameters are triangle's base and height.  With 3 args, parameters are the lengths of each side.  Argument order is not important.
Either way, you get the area.


tcn

Checking if the square you want to take from a number is valid or not (you can't take the root of a negative number)
if ($i<0)
{
 echo "Error! The number you specified can't be rooted! It's negative!
 }
 else
 {
 echo "The square root of your number is ".sqrt($i);
 }


29-mar-2006 09:03

A much easier way to find perfect squares:
This method uses integer roots to find perfect squares instead of integer squares to find integer roots.
<?
# initial value
$i = 0;
#set any limit you want
$setSomeLimit = 10000;
# do it! .... do it! ... do it!
for ($n = 1; $n < sqrt($setSomeLimit; $n++)
{
   // Find the square
   $s= $n * $n;
   print "
perfect_square_root is of $s is $n";
}
?>


Change Language


Follow Navioo On Twitter
abs
acos
acosh
asin
asinh
atan2
atan
atanh
base_convert
bindec
ceil
cos
cosh
decbin
dechex
decoct
deg2rad
exp
expm1
floor
fmod
getrandmax
hexdec
hypot
is_finite
is_infinite
is_nan
lcg_value
log10
log1p
log
max
min
mt_getrandmax
mt_rand
mt_srand
octdec
pi
pow
rad2deg
rand
round
sin
sinh
sqrt
srand
tan
tanh
eXTReMe Tracker