Hazır PHP matematik fonksiyonları kullanarak kolaylıkla yapabiliriz. Bu makalede işe yarar birçok matematik fonksiyonunu uygulamalı örnekleriyle bulacaksınız. İçeriği daha fazla uzatmamak için bazı fonksiyonları ayrı makaleler halinde oluşturdum. Aşağıdaki listeden bu içeriklere ulaşabilirsiniz.
Bu yazı içerisinde yer alan bütün fonksiyonlara aşağıdaki başlıklar üzerine tıklayarak kolay bir şekilde ulaşabilirsiniz.
–>abs fonksiyonu – mutlak değer alma
–>deg2rad fonksiyonu – dereceyi radyana çevirme
–>rad2deg fonksiyonu – radyanı dereceye çevirme
–>base_convert fonksiyonu – taban çevirme işlemi
–>bindec fonksiyonu – ikilik sayı tabanından onluk sayı tabanına çevirme
–>decbin fonksiyonu – onluk sayı tabanından ikilik sayı tabanına çevirme
–>dechex fonksiyonu – onluk sayı tabanından on altı sayı tabanına çevirme
–>hexdec fonksiyonu – on altılı sayı tabanından onluk sayı tabanına çevirme
–>Octdec Fonksiyonu – sekizlik sayı tabanından onlu sayı tabanına çevirme
–>decoct fonksiyonu – onlu sayı tabanından sekizli sayı tabanına çevirme
–>ceil fonksiyonu – yukarı doğru sayı yuvarlama
–>floor fonksiyonu – aşağı doğru sayı yuvarlama
–>round fonksiyonu – sayı yuvarlama
–>exp fonksiyonu – euler sabiti bulma
–>expm1 fonksiyonu
–>fmod fonksiyonu – mod alma
–>hypot fonksiyonu – hüpotenüs hesaplama
–>intdiv fonksiyonu – bölme işlemi
–>is_infinite fonksiyonu – sayının sonsuz olup olmadığı kontrolü
–>is_finite fonksiyonu – sonsuz olup olmadığı kontrolü
–>is_nan fonksiyonu
–>lcg_value fonksiyonu – float türünde rastgele sayı üretme
–>log fonksiyonu – doğal logaritma hesaplama
–>log10 fonksiyonu – onluk tabanda logaritma
–>log1p fonksiyonu
–>max fonksiyonu – girilen sayılardan en büyüğünü bulma
–>min fonksiyonu – girilen sayılardan en küçüğünü bulma
–>pi fonksiyonu – pi sayısı bulma
–>range fonksiyonu – sıralama işlemi
–>pow fonksiyonu – üs alma
–>sqrt fonksiyonu – sayının karekökünü bulma
Fonksiyona verilen sayının mutlak değerini verir. Yani sayıyı pozitif hale getirir. PHP mutlak değer alma işlemi sayının sıfıra uzaklığı olduğu için çıkan sonuç her zaman pozitif bir sayı olur. PHP abs fonksiyonu kullanımı aşağıdaki gibidir.
$sayi = 150;
$sayi2 = -200;
echo abs($sayi); //çıktı: 150
echo abs($sayi2); //çıktı: 250
Deg2rad fonksiyonu PHP dereceyi radyana çevirme işlemini gerçekleştirir. Fonksiyon içerisine girilen açı ölçüm birimlerinden biri olan derece cinsinden sayısal değeri, yine açı ölçüm birimlerinden biri olan radyana çevirme işlemini uygular. PHP deg2rad fonksiyonu kullanımı aşağıdaki gibidir.
$derece = 1;
echo deg2rad($derece); //çıktı: 0.017453292519943
Rad2deg fonksiyonu PHP radyanı dereceye çevirme işlemini gerçekleştirir. Deg2rad fonksiyonunun yaptığı işlevin tam tersi olarak içerisine girilen radyan açısını derece cinsinden sayısal bir değere çevirme işlemini yapar. PHP dad2deg fonksiyonu kullanımı aşağıdaki gibidir.
$radyan = 1;
echo rad2deg($radyan); //çıktı: 57.295779513082
PHP taban çevirme işlemi base_convert fonksiyonu ile kolayca yapılabilir. 2 ile 36 taban sayıları arasında taban çevirme işlemi yapılabilir. 3 parametre ile kullanılır. İlk parametre taban çevirme işleminin yapılacağı sayı değeri, ikinci parametre çevrilecek sayının hangi tabana ait olduğunu belirten sayısal değer, üçüncü parametre ise sayının hangi tabana çevrilmesi gerektiğinin belirtildiği sayısal değer. PHP base_convert fonksiyonu kullanımı aşağıdaki gibidir.
$sayi = 11011;
echo base_convert($sayi,2,10); //çıktı: 27
Yukarıdaki örnekte ikilik tabandaki sayıyı onluk tabana çevirme işlemi yapılıyor. Aşağıdaki örnekte tam tersi, onluk tabandaki sayıyı ikilik tabana çevirme işlemi yapılıyor.
$sayi2 = 32;
echo base_convert($sayi2,10,2); //çıktı: 100000
Aşağıdaki örnekte ise onluk tabandaki sayıyı sekizlik tabana çevirme işlemi yapılıyor.
$sayi3 = 32;
echo base_convert($sayi3,10,8); //çıktı: 40
İkilik sayı tabanından onluk sayı tabanına PHP taban çevirme işlemini yerine getirir. Bindec fonksiyonu içerisine string türünde verilen binary (ikilik) tabandaki sayıyı decimal (onluk) sayı tabanına çevirme işlemini gerçekleştirir. PHP bindec fonksiyonu kullanımı aşağıdaki gibidir.
$sayi = '11011';
echo bindec($sayi); //çıktı: 27
Onluk sayı tabanından ikilik tabanına PHP taban çevirme işlemini gerçekleştirir. Decbin fonksiyonu içerisine girilen onluk tabandaki sayısal değeri string türünde ikilik tabana çevirme işlemini gerçekleştirir ve çevrilen sayıyı geri döndürür. PHP decbin fonksiyonu kullanımı aşağıdaki gibidir.
$sayi = 27;
echo decbin($sayi); //çıktı: 11011
Onluk sayı tabanından on altılı sayı tabanına PHP taban çevirme işlemini uygular. Dechex fonksiyonu içerisine girilen onluk tabandaki sayıyı string türünde on altılık sayı tabanına çevirme işlemini gerçekleştir ve çevrilen sayıyı geri döndürür. PHP dechex fonksiyonu kullanımı şağıdaki gibidir.
$sayi = 42;
echo dechex($sayi); //çıktı: 2a
On altılı sayı tabanından onluk sayı tabanına çeviri işlemini gerçekleştirir. Hexdec fonksiyonu içerisine girilen on altılı sayı tabanındaki sayı değerini onluk tabanda sayısal bir değere çevirme işlemini yapar ve çevrilen sayıyı geri döndürür. PHP hexdec fonksiyonu kullanımı aşağıdaki gibidir.
$sayi = '2a';
echo hexdec($sayi); //çıktı: 42
$sayi = 20;
echo hexdec($sayi); //çıktı: 32
Sekizlik sayı tabanından onluk sayı tabanına çevirme işlemi octdec fonksiyonu ile gerçekleştirilebilir. PHP octdec fonksiyonu kullanımı aşağıdaki gibidir.
$sayi = 17;
echo octdec($sayi); //çıktı: 15
echo base_convert($sayi,8,10); //çıktı: 15
Onluk sayı tabanından sekizlik sayı tabanına PHP taban çevirme işlemini uygular. Decoct fonksiyonu içerisine girilen onluk tabandaki sayıyı string türünde sekizli sayı tabanına (oktal) çevirme işlemini uygular ve çevrilen sayıyı string türünde geri döndürür. PHP decoct fonksiyonu kullanımı aşağıdaki gibidir.
$sayi = 15;
echo decoct($sayi); //çıktı: 17
echo base_convert($sayi,10,8); //çıktı: 17
Genel taban çevirme fonksiyonu olan base_convert ile aynı işleme tabi tutuluyor ve iki fonksiyonda aynı sonucu veriyor.
PHP sayı yuvarlama işlemini yukarı doğru yapan fonksiyondur. Ondalıklı ve küsüratlı sayılarda virgülden sonraki değer ne olursa olsun yukarı doğru yuvarlanır ve kesiri olmayan tam sayı haline gelir. PHP ceil fonksiyonu kullanımı aşağıdaki gibidir.
$sayi = 1.1;
echo ceil($sayi); //çıktı: 2
$sayi2 = 1.5;
echo ceil($sayi2); //çıktı: 2
$sayi3 = 1.999;
echo ceil($sayi3); //çıktı: 2
$sayi4 = 1;
echo ceil($sayi4); //çıktı: 1
PHP sayı yuvarlama işlemini aşağı doğru yapan fonksiyondur. Virgüllü sayılarda virgülden sonraki değer ne olursa olsun sayı aşağı doğru yuvarlanır ve tam sayı haline gelir. Floor kullanımı aşağıdaki gibidir.
$sayi = 3.4;
echo floor($sayi); //çıktı: 3
$sayi2 = 3.6;
echo floor($sayi2); //çıktı: 3
$sayi3 = 3.5;
echo floor($sayi3); //çıktı: 3
PHP sayı doğrulama işlemini sayının virgülden sonraki değerinin 5’ten aşağı yada yukarı olması belirler. Ondalıklı sayının virgülden sonraki değeri 5’ten küçük ise aşağı doğru, 5 ve yukarı ise yukarı doğru yuvarlama işlemi uygulanacaktır. PHP round fonksiyonu kullanımı aşağıdaki gibidir.
$sayi = 4.4;
echo round($sayi); //çıktı: 4
$sayi2 = 4.6;
echo round($sayi2); //çıktı: 5
$sayi3 = 4.5;
echo round($sayi3); //çıktı: 5
Matematik işlemlerinde kullanılan ve euler sabiti olarak adlandırılan ‘e’ sayısının kuvvetlerini, üslerinin hesaplanması için PHP exp fonksiyonu kullanılmaktadır. Fonksiyon içerisine parametre olarak girilen sayı e sayısının üssü olarak kabul edilir. Exp fonksiyonu kullanımı ile e sayısının kuvvetini hesaplama işlemi aşağıdaki gibidir.
echo exp(1).'
'; //çıktı: 2.718281828459
echo exp(2).'
'; //çıktı: 7.3890560989307
echo exp(3).'
'; //çıktı: 20.085536923188
echo exp(13).'
'; //çıktı: 442413.39200892
Expm1 fonksiyonu, exp fonksiyonu ile euler sabitinin kuvvetlerinin hesaplanması ile oluşan sayısal değerden tam sayı olarak 1 değeri çıkartılması sonucu oluşan değeri hesaplar. PHP Expm1 fonksiyonu kullanımı aşağıdaki gibidir.
echo expm1(1).'
'; //çıktı: 2.718281828459
echo expm1(2).'
'; //çıktı: 7.3890560989307
echo expm1(3).'
'; //çıktı: 20.085536923188
echo expm1(13).'
'; //çıktı: 442412.39200892
Fmod fonksiyonu ile PHP mod alma işlemi gerçekleştirilir. 2 parametre ile kullanılır. İlk parametre bölünecek sayı, ikinci parametre ise bölen sayı. PHP mod alma işlemi hem fmod fonksiyonu ile hem de ‘%’ simgesiyle gerçekleştirilebilir. PHP fmod fonksiyonu kullanımı ve ‘%’ ile mod alma işlemini aşağıda görebiliriz.
$sayi1 = 12;
$sayi2 = 5;
$kalan = $sayi1 % $sayi2;
echo $kalan; //çıktı: 2
$kalan2 = fmod($sayi1,$sayi2);
echo $kalan2; //çıktı: 2
PHP hipotenüs hesaplama işlemi birkaç yöntemle yapılabilir. Dik üçgenin karşısındaki kenara hipotenüs denir. Bu kenarın uzunluğunu hypot fonksiyonu ile kolayca bulabiliriz. 2 parametre ile kullanılır. Birinci parametre x kenarının uzunluğunun belirtildiği float türünde sayısal değer, ikinci parametre ise y kenarının uzunluğunun belirtildiği float türünde sayısal değer. Hypot kullanımı aşağıdaki gibidir.
$x_kenar = 3;
$y_kenar = 4;
$hipotenus = hypot($x_kenar,$y_kenar);
echo $hipotenus; //çıktı: 5
Hipotenüs bulma işleminin mantığı: x_kenar * x_kenar + y_kenar*y_kenar =hipotenüs*hipotenüs
Yani dik üçgende x kenarı ile y kenarının karesinin alınıp birbirleriyle toplanması ve çıkan sonucun karekökünün alınması ile hipotenüs yani 90 derecelik açının karşısındaki uzun kenarın uzunluğu bulunmuş olur. Bu mantıktan yola çıkarak PHP hipotenüs bulma işleminin ikinci yöntemi de aşağıdaki gibidir.
$x_kenar = 3;
$y_kenar = 4;
$hipotenus2 = sqrt($x_kenar*$x_kenar + $y_kenar*$y_kenar);
echo $hipotenus2; //çıktı: 5
Yukarıdaki örnekte, kenarların karesi alınıp birbirleriyle toplanıp, çıkan sonucun sqrt fonksiyonu ile karekökü alma işlemi uygulanıp hipotenüs bulma işlemi gerçekleştiriliyor.
PHP bölme işlemi yapılırken / operatörü kullanıldığı sırada virgüllü ve küsüratlı sayı çıkabilir. Yuvarlama işlemleri yapılarak tam sayıya çevirme yapılabileceği gibi intdiv fonksiyonu ile direkt fonksiyon içerisinde bölme işlemi yapılıp çıkan sonucun tam sayı vermesi sağlanabilir.
Intdiv fonksiyonu 2 parametre alır. İlk parametre bölünecek sayı, ikinci parametre ise bölen sayı değeridir. Parametre olarak girilen sayısal değerler küsüratlı ise bu sayılar aşağı yuvarlanır, tam sayı haline getirilir ve bu şekilde bölme işlemi gerçekleştirilir. PHP intdiv fonksiyonu kullanımı aşağıdaki gibidir.
echo intdiv(10,3); //çıktı: 3
echo intdiv(12,3.5); //çıktı: 4
echo intdiv(6.5,2.5); //çıktı: 3
echo intdiv(-6,3); //çıktı: 2
PHP içerisinde is_infinite fonksiyonu ile sayının sonsuz olup olmadığının kontrolü yapılabilir. Parametre olarak girilen sayısal değer sonsuz ise ‘true’ yani 1 değeri döner, değil ise ‘false’ değeri döner. Fonksiyon içerisine girilen sayı değeri float tipi için izin verilen sayı uzunluğundan fazla ise sonsuz olarak varsayılacaktır. PHP is_infinite fonksiyonu kullanımı aşağıdaki gibidir.
echo is_infinite(log(0)); //çıktı: 1
echo is_infinite(99999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999); //çıktı:1
echo is_infinite(25); //çıktı:
echo is_infinite(10/3); //çıktı:
echo is_infinite(pi()); //çıktı:
Pi sayısı ve 10/3 işlemleri sonsuz sonuçlar vermesine rağmen denemelerim sonucunda PHP içerisinde sonuç çıktısı belli karakteri aşmadığından dolayı is_infinite fonksiyonu içerisinde sonsuz sayı olarak kabul görmüyor.
PHP içerisinde is_infinite fonksiyonunun yaptığının tersi olarak is_finite fonksiyonu içerisine girilen değer sonsuz sayı değil ise ‘true’ yani 1 değerini döndürür, değil ise ‘false’ değeri döndürür. PHP is_finite fonksiyonu kullanımı aşağıdaki gibidir.
echo is_finite(log(0)); //çıktı:
echo is_finite(99999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999); //çıktı:
echo is_finite(25); //çıktı: 1
echo is_finite(10/3); //çıktı: 1
echo is_finite(pi()); //çıktı: 1
Sayının olmaması ya da sayı değerinin tanımsız olması sonucunu kontrol eder. is_nan fonksiyonu içerisine parametre olarak girilen sayı değerinin tanımsız olması veya sayının olmaması yani sonucu ‘NAN’ sonucu oluşur ise fonksiyon ‘true’ yani 1 değerini döndürür, sayı var ve sorun yok ise ‘false’ değeri döner. PHP is_nan fonksiyonu kullanımı aşağıdaki gibidir.
Not: NAN = Not a Number
$veri = 15;
$veri2 = 0;
$veri3 = acos(8);
echo is_nan($veri); //çıktı:
echo is_nan($veri2); //çıktı:
echo is_nan($veri3); //çıktı: 1
echo is_nan(NAN); //çıktı: 1
0 ile 1 arasında float türünde rastgele sayı üretir. PHP lcg_value fonksiyonu kullanımı aşağıdaki gibidir.
echo lcg_value(); //örnek çıktı: 0.72935404660696
PHP doğal logaritma hesaplama işlemi yapmak için kullanılır. PHP log fonksiyonu kullanımı aşağıdaki gibidir.
echo log(1); //çıktı: 0
echo log(2); //çıktı: 0.69314718055995
echo log(3); //çıktı: 1.0986122886681
PHP onluk tabana göre logaritma hesaplama işlemi yapmak için kullanılır. PHP log10 fonksiyonu kullanımı aşağıdaki gibidir.
echo log10(1); //çıktı: 0
echo log10(2); //çıktı: 0.30102999566398
echo log10(3); //çıktı: 0.47712125471966
PHP doğal logaritma hesaplama işlemi yapmak için fonksiyonun içerisine parametre olarak girilen sayısal değerin 1 arttırılarak hesaplanması için kullanılan fonksiyondur. (Örnek: log(sayi+1)). PHP log1p fonksiyonu kullanımı aşağıdaki gibidir.
echo log1p(1).'
'; //çıktı: 0.69314718055995
echo log1p(2).'
'; //çıktı: 1.0986122886681
echo log1p(3).'
'; //çıktı: 1.3862943611199
PHP en büyük sayı değerini bulmak için kullanılır. Parametre olarak girilen dizi yada sayı grubunun içerisinde bulunan en büyük değeri getirir. PHP max fonksiyonu kullanımı aşağıdaki gibidir.
echo max(12,22,32,42,52); //çıktı: 52
echo max(array(2,4,6,8,10)); //çıktı: 10
PHP en küçük sayı değerini bulmak için kullanılır. Parametre olarak girilen dizi ya da sayı grubunda bulunan en büyük sayısal değeri döndürür. PHP min fonksiyonu kullanımı aşağıdaki gibidir.
echo min(3,5,7,88,2,44); //çıktı: 2
echo min(array(11,22,33,44,55,66)); //çıktı: 11
PHP pi sayısını bulma işlemi genellikle pi fonksiyonu ile yapılabilir. Ayrıca M_PI sabiti ile de pi sayısı elde edilebilir. Pi fonksiyonu ve M_PI sabiti kullanımı aşağıdaki gibidir.
echo pi(); // 3.1415926535898
echo M_PI; // 3.1415926535898
PHP belirtilen aralıklarda sayıları ya da harfleri büyükten küçüğe yada küçükten büyüğe sıralayarak dizi haline getirip geri döndürür. 3 parametre ile kullanılır. İlk parametre hangi sayıdan yada harften itibaren verilerin getirtilmeye başlanacağının belirtildiği değer, ikinci parametre kaçıncı veriye kadar elemanların sırayla getirileceği, üçüncü parametre ise belirtilen aralıktaki bütün verilerin hangi aralıklarla elde edilmesi gerektiğinin belirtildiği sayısal değer.
Eğer ilk parametre ikinci parametreden büyük ise, veriler büyükten küçüğe doğru getirtilecek. Tam tersi ilk parametre ikinci parametreden küçük ise, bu sefer veriler küçükten büyüğe doğru getirtilecek.
PHP range fonksiyonu kullanımı aşağıdaki gibidir.
$sayilar = range(3,6);
print_r($sayilar); //çıktı: Array ( [0] => 3 [1] => 4 [2] => 5 [3] => 6 )
$sayilar2 = range(5,20,5); //çıktı: Array ( [0] => 5 [1] => 10 [2] => 15 [3] => 20 )
print_r($sayilar2);
$sayilar3 = range(6,3); //çıktı: Array ( [0] => 6 [1] => 5 [2] => 4 [3] => 3 )
print_r($sayilar3);
$harfler = range('c','f');
print_r($harfler); //çıktı: Array ( [0] => c [1] => d [2] => e [3] => f )
PHP üs alma, kuvvet alma işlemi için pow fonksiyonu kullanılabilir. Pow fonksiyonu ile üs hesaplama işlemi için fonksiyona 2 parametre girilir. İlk parametre sayı değeri, ikinci parametre ise bu sayının kuvveti, üssüdür. PHP pow fonksiyonu kullanımı aşağıdaki gibidir.
echo pow(5,2); //çıktı: 25
echo pow(0,2); //çıktı: 0
echo pow(2,3); //çıktı: 8
PHP bir sayının karekökünü almak için sqrt fonksiyonu kullanılabilir. Parametre olarak girilen sayısal verinin karekökünü geri döndürür. Sayının karekökünü alma işlemini pow fonksiyonu ile de gerçekleştirilebilir. Pow fonksiyonunun ikinci parametresine girilecek ‘0.5’ değeri ile sayının karekökünü alma işlemi yapılabilir. PHP sqrt fonksiyonu kullanımı ve pow fonksiyonu ile karekök alma işlemini de ayrı ayrı aşağıda görebilirsiniz.
echo sqrt(25); //5
echo sqrt(4); //çıktı: 2
echo pow(25,0.5); //5
echo pow(4,0.5); //çıktı: 2