Thứ Tư, 8 tháng 2, 2012

Các hàm toán học trong PHP

Math functions
Các hàm về toán học :)

abs
Hổ trợ:PHP 3, PHP 4, PHP 5 
Cú pháp: abs($number); 
Chức năng: trả về giá trị tuyệt đối của $number, nếu $number là float thì kết quả là float và ngược lại là interger 
Ví dụ: 
<?php 
$abs 
= abs(-4.2); // $abs = 4.2; (double/float) $abs2 = abs(5);   // $abs2 = 5; (integer) $abs3 = abs(-5);  // $abs3 = 5; (integer) ?>
acos
Hổ trợ:(PHP 3, PHP 4, PHP 5) 
Cú pháp: acos($arg) 
Chức năng: lấy giá trị arc cosin của $arg (tính bằng radian) 
Ví dụ: 
<?php echo acos(0.5); // kết quả: 1.0471975512 ?> 
asin
Hổ trợ:(PHP 3, PHP 4, PHP 5) 
Cú pháp: asin($arg) 
Chức năng: Lấy giá trị arc sin của gốc $arg( tính bằng radian) giá trị trả về sẽ là float nếu $arg là float 
Ví dụ: 
<?php echo asin(0.5);//kết quả:0.523598775598 ?> 
atan
Hổ trợ:(PHP 3, PHP 4, PHP 5) 
Cú pháp: atan($arg) 
Chức năng: lấy giá trị arc tang của $arg (tính bằng radian) 
Ví dụ: 
<?php echo atan(0.5); // kết quả: 0.463647609001  ?>
atan2
Hổ trợ:(PHP 3, PHP 4, PHP 5) 
Cú pháp: atan2($arg1,$arg2) 
Chức năng: lấy giá trị arc tang của $arg1/$arg2 (tính bằng radian) 
Ví dụ: 
<?php echo atan2(1,2); // kết quả: 0.463647609001  ?>
base_convert
Hổ trợ:(PHP 3 >= 3.0.6, PHP 4, PHP 5) 
Cú pháp:base_convert ($string_number, $frombase,$tobase ) 
Chức năng: đổi $string_number từ cơ số $frombase sang $tobase 
Ví dụ: 
<?php 
$hexadecimal 
= 'A37334'; 
echo 
base_convert($hexadecimal, 16, 2);  ?> 
Kết quả: 
101000110111001100110100
bindec
Hổ trợ: (PHP 3, PHP 4, PHP 5) 
Cú pháp: bindec($string_number) 
Chức năng: chuyển $string_number từ cơ số 2 sang cơ số 10 
Ví dụ: 
<?php echo bindec('110011') . "\n"; 
echo 
bindec('000110011') . "\n"; 
echo 
bindec('111'); ?> 
Kết quả: 
51 
51 
7

* Ghi chú: bindec chỉ có thể chuyển đổi được số binary tối đa 31 bit ( tương đương 2147483647 trong hệ 10)
ciel
Hổ trợ:(PHP 3, PHP 4, PHP 5) Cú pháp: ciel($float) Chức năng: Làm tròn lên số $float 
Ví dụ: 
<?php echo ciel(4.1); 
echo 
ciel(7.99); ?> Kết quả: 
5 
8
cos
Hổ trợ:(PHP 3, PHP 4, PHP 5) 
Cú pháp: cos($arg) 
Chức năng: tính giá trị cosin của gốc $arg (tính bằng radian) 
Ví dụ: 
<?php echo cos(M_PI);  ?> 
Kết quả: 
-1 
* Ghi chú: M_PI = 3.1415926535898 (số pi)
decbin
Hổ trợ: (PHP 3, PHP 4, PHP 5) 
Cú pháp: decbin($string_number) 
Chức năng: chuyển $string_number từ cơ số 10 sang cơ số 2 
Ví dụ: 
<?php echo decbin(12) . "\n"; 
echo 
decbin(26); ?> 
Kết quả: 
1100 
11010 

* Ghi chú: bindec chỉ có thể chuyển đổi được số binary tối đa 32 bit ( tương đương 4294967295 trong hệ 10)
dechex
Hổ trợ: (PHP 3, PHP 4, PHP 5) 
Cú pháp: dechex($string_number) 
Chức năng: chuyển $string_number từ cơ số 10 sang cơ số 16 
Ví dụ: 
<?php echo dechex(10) . "\n"; 
echo 
dechex(47); ?> 
Kết quả: 
a 
2f 

* Ghi chú: dechex chỉ có thể chuyển đổi được số tối đa 4294967295 (trong hệ 10) sang ffffff (hệ 16)
decoct
Hổ trợ: (PHP 3, PHP 4, PHP 5) 
Cú pháp: decoct($string_number) 
Chức năng: chuyển $string_number từ cơ số 10 sang cơ số 8 
Ví dụ: 
<?php echo decoct(15) . "\n"; 
echo 
decoct(264); ?> 
Kết quả: 
17 
410 

* Ghi chú: decoct chỉ có thể chuyển đổi được số tối đa  2147483647 (hệ 10) sang 37777777777(hệ 8)
deg2rad
Hổ trợ:(PHP 3 >= 3.0.4, PHP 4, PHP 5) 
Cú pháp:deg2rad($float) 
Chức năng: chuyển từ độ sang radian 
Ví dụ: 
<?php echo deg2rad(45); // 0.785398163397 var_dump(deg2rad(45) === M_PI_4); // bool(true) ?> 
* Ghi chú:M_PI_4 = pi/4
exp
Hổ trợ:(PHP 3, PHP 4, PHP 5) 
Cú pháp: exp($arg) 
Chức năng: tính e mũ $arg 
Ví dụ: 
<?php echo exp(12) . "\n"; 
echo 
exp(5.7); ?> Kết quả: 
1.6275E+005 
298.87


* Ghi chú: e cơ số của logaric (e = 2.718282)
floor
Hổ trợ: (PHP 3, PHP 4, PHP 5) 
Cú pháp: floor($float) 
Chức năng: trả về giá trị (số thực) làm tròn xuống của $float 
Ví dụ: 
<?php echo floor(4.3);   // 4 echo floor(9.999); // 9 echo floor(-3.14); // -4 ?>  
fmod
Hổ trợ: PHP 4 >= 4.2.0, PHP 5 
Cú pháp:fmod($x,$y) 
Chức năng: lấy phần dư của phép chia số thực $x/$y 
Ví dụ: 
<?php 
$x 
= 5.7; $y = 1.3; $r = fmod($x, $y); ?> 
Kết quả: 
$r = equals 0.5, vì 4 * 1.3 + 0.5 = 5.7 (hay 5.7 chia 1.3 được 4 dư 0.5)


* Ghi chú: cách hiểu của hàm này giống như toán tử % nhưng tính trên số thực
getrandmax
Hổ trợ: (PHP 3, PHP 4, PHP 5) 
Cú pháp: getrandmax() 
Chức năng: trả về giá trị tối đa có thể có của hàm rand() 
Ví dụ: 
<?php echo getrandmax(); ?> Kết quả: 
32767
 
* Ghi chú: giá trị này phụ thuộc vào cấu hình của server đó
hexdec
Hổ trợ:(PHP 3, PHP 4, PHP 5) Cú pháp:hexdec($hex_string) Chức năng: đổi chuỗi $hex_string từ hệ 16 sang hệ 10, giá trị tối đa của $hex_string là 7fffffff tương đương 2147483647 trong hệ 10 
Ví dụ: 
<?php 
var_dump
(hexdec("See")); var_dump(hexdec("ee")); // both print "int(238)" 
var_dump(hexdec("that")); // print "int(10)" var_dump(hexdec("a0")); // print "int(160)" ?> 
* Ghi chú: hexdec sẽ bỏ tất cả những ký tự không thuộc hệ 16 trong chuỗi $hex_string
max
Hổ trợ:(PHP 3, PHP 4, PHP 5) 
Cú pháp:max ( $arg1, $arg2 ,...,$argn ) 
Chức năng: tìm số lớn nhất trong $arg1,...,$argn 
Ví dụ: 
<?php echo max(1, 3, 5, 6, 7);  // 7 ?> * Ghi chú: 
- có thể dùng max để tìm phần tử lớn nhất của 1 array 
<?php echo max(array(2, 4, 5)); // 5 ?> - nếu $argi là 1 string thì nó được xem như 0 để so sánh nhưng khi kết quả trả về vẫn là string 
<?php echo max(-1,'hello'); ?> - nếu có nhiều giá trị lớn nhất trùng nhau trong $arg1,..,$argn thì  sẽ trả về giá trị đầu tiên 
<?php echo max(0, 'hello');     // 0 echo max('hello', 0);     // hello ?> - nếu tất cả các $arg1,..,$argn là array thì việc so sánh sẽ thực hiện từ trái sang phải trên từng phần tử của mảng 
<?php 
$val 
= max(array(2, 4, 8), array(2, 5, 7)); // array(2, 5, 7) 
// vì 2==2 nhưng 4<5 
?> - nếu trong $arg1,..,$argn có cả số, chuỗi và mảng thì luôn luôn trả về mảng 
<?php 
$val 
= max('string', array(2, 5, 7), 42);   // array(2, 5, 7) ?>
min
Hổ trợ:(PHP 3, PHP 4, PHP 5) 
Cú pháp:min( $arg1, $arg2 ,...,$argn ) 
Chức năng: tìm số nhỏ nhất trong $arg1,...,$argn 
Ví dụ: 
<?php echo min(1, 3, 5, 6, 7);  // 1 ?> * Ghi chú: 
- có thể dùng min để tìm phần tử nhỏ nhất của 1 array 
<?php echo min(array(2, 4, 5)); // 2 ?> - nếu $argi là 1 string thì nó được xem như 0 để so sánh nhưng khi kết quả trả về vẫn là string 
<?php echo min(-1,'hello'); // -1 ?> - nếu có nhiều giá trị nhỏ nhất trùng nhau trong $arg1,..,$argn thì trả về giá trị đầu tiên 
<?php echo min(0, 'hello');     // 0 echo min('hello', 0);     // hello ?> - nếu tất cả các $arg1,..,$argn là array thì việc so sánh sẽ thực hiện từ trái sang phải trên từng phần tử của mảng 
<?php 
$val 
= min(array(2, 4, 8), array(2, 5, 7)); // array(2, 4, 8) 
// vì 2==2 nhưng 4<5 
?> - nếu trong $arg1,..,$argn có cả số, chuỗi và mảng thì mảng được xem như lớn nhất 
<?php 
$val 
= min('hello', array(2, 5, 7), 42);   // hello ?>
pi
Hổ trợ:(PHP 3, PHP 4, PHP 5) 
Cú pháp: pi() 
Chức năng: lấy giá trị số pi 
Ví dụ: 
<?php echo pi(); // 3.1415926535898 ?> 
* Ghi chú: bạn có thể sử dụng M_PI đê lấy giá trị số pi 
<?php echo M_PI; // 3.1415926535898 ?>
pow
Hổ trợ:(PHP 3, PHP 4, PHP 5) 
Cú pháp: pow($var,$exp) 
Chức năng: trả về giá trị của phép toán $var mũ $exp 
Ví dụ: 
<?php 

var_dump
(pow(2, 8)); // int(256) echo pow(-1, 20); // 1 echo pow(0, 0); // 1 ?> 
* Ghi chú: PHP không thể tính được mũ số thực của 1 số âm 
<?php echo pow(-1, 5.5); // NaN ?>
rand
Hổ trợ:(PHP 3, PHP 4, PHP 5) 
Cú pháp: rand($min,$max) 
Chức năng: lấy số nguyên ngẫu nhiên có giá trị $min <rand() < $max 
Ví dụ: 
<?php echo rand() . "\n"; 
echo 
rand() . "\n"; 
echo 
rand(5, 15); ?> 
Kết quả: 
7771 
22264 
11 
* Ghi chú: nếu không truyền 2 tham số $min,$max thì hàm sẽ trả về số ngẫu nhiên năm giưa khoảng 0 -> RAND_MAX
round
Hổ trợ:(PHP 3, PHP 4, PHP 5) Cú pháp:round ( $val ,$precision = 0) Chức năng: hàm làm tròn số $val với $precision số lẻ 
Ví dụ: 
<?php echo round(3.4);         // 3 echo round(3.5);         // 4 echo round(3.6);         // 4 echo round(3.6, 0);      // 4 echo round(1.95583, 2);  // 1.96 echo round(5.045, 2);    // 5.05 echo round(5.055, 2);    // 5.06 ?> 

* Ghi chú: $precision có thể là số âm 
<?php echo round(1241757, -3); // 1242000 ?>
sqrt
Hổ trợ:(PHP 3, PHP 4, PHP 5) Cú pháp: sqrt($var) Chức năng: phép toán lấy căn bậc 2 của $var 
Ví dụ: 
<?php 
echo sqrt(9); // 3 echo sqrt(10); // 3.16227766 ... ?> 
các hàm còn lại : 
cosh Returns the hyperbolic cosine of the number.
.hypot 
is_finite Returns whether argument is finite.
is_infinite Returns whether argument is infinite.
is_nan Returns whether argument is not a number.
lcg_value Returns a value from the combined linear congruential generator.
log Returns the natural logarithm of the number.
log10 Returns the base-10 logarithm of the number.
mt_getrandmax Returns the maximum value a random number from Mersenne Twister can have.
mt_rand Returns a random number from Mersenne Twister.
mt_srand Seeds Mersenne Twister random number generator.
octdec Returns the decimal equivalent of an octal string.
rad2deg Converts the radian number to the equivalent number in degrees.
sin Returns the sine of the number in radians.
sinh Returns the hyperbolic sine of the number.
srand Seeds random number generator.
tan Returns the tangent of the number in radians.
tanh Returns the hyperbolic tangent of the number. 
Nguồn : thuviensv.com

2 nhận xét: