PHP’de Matematiksel İşlemler

Matematiksel işlemler

Genel olarak çok fazla başvurulmasa da PHP’de ileri matematiksel fonksiyon desteği de vardır. Web yazılımcılığında birçok işlem metin değerleri üzerinde gerçekleştirildiğinden, sayısal değerlere ve ilgili fonksiyonlara pek gerek kalmıyor. Grafik uygulamalannda bazı matematiksel fonksiyonlar kullanılacağından, yüzeysel de olsa matematik fonksiyonları hakkında bilgi sahibi olmak faydalı olacaktır. Web sayfalarında rakamların HTML tablolannda listelenmesinde genelde yaşanan sorun, rakamların binlik basamaklara bölünmeden gösterilmeleridir. PHP’de 100000 sayısını 100.000 olarak yazmak için, matematik fonksiyonlanndan number_format() kullanılır. Bu fonksiyon, üç farklı parametre alarak sayıyı ekrana dökmekte seçenekler sağlar.

$sayi = “12345648979”;

echo number_format($sayi. O, “,”,”.”);

Koduyla $sayi değişkeniyle gönderilen sayının ondalık hane sayışım 0 olarak ayarlayıp, binlik gruplamada kullanılacak karakter de nokta olarak belirtiliyor. Bu sayede, sayı ekrana 12.345.648.979 şeklinde formatlanmış olarak basılıyor.

Bazı durumlarda, sayıların birbirine bölünmesi sonucunda ortaya çıkabilecek olan ondalık haneler kullanılmak istenmez. Ondalık hanenin aşağıya ya da yukarıya yuvarlanması gerekebilir. Yukarıya yuvarlama işlemi için ceil() fonksiyonu kullanılırken aşağıya yuvarlama işlemi için de floor() fonksiyonu kullanılır. Bu iki fonksiyon sayının değerine bakmaksızın ya aşağıya ya da yukarıya yuvarlama işlemi gerçekleştirir. Yani

$sayi = 4.5;

echo floor($sayi).”
“;

echo ceil($sayi);

durumunda $sayi değeri floor() fonksiyonuyla 4 rakamına, ceil() fonksiyonuyla da 5 rakamına yuvarlanır. Normalde 4.5 gibi bir sayının yuvarlamasının yukarıya, 4.4 gibi bir rakamın da aşağıya doğru yuvarlanması gereken durumda, daha akılcı kararlar verebilecek round() fonksiyonu kullanılır. Bu fonksiyon, sayının değeri eğer bir üst tamsayıya daha yakınsa yukarıya, bir alt tamsayıya daha yakınsa aşağıya yuvarlama yapacaktır. Bu durum,

$sayi = 4.4;

echo floor($sayi).”
“;

echo ceil($sayi),”
“;

echo round($sayi);

örneğiyle çok daha net olarak görülebilir. En üstteki floor() , fonksiyonu, $sayi’yi 4’e yuvarlarken, ceil() fonksiyonu 5’e yuvarlayacak, round () fonksiyonu da 4.4’ün daha yakın olduğu tamsayı olan 4’e, aşağıya doğru yuvarlama işlemi gerçekleştirecektir. Yuvarlama işleminde ondalık kısımda yuvarlama yapması için round() fonksiyonuna ondalık hane belirtilebilir.

echo round (3.738, 2);

komutuyla belirtilen ondalık hane sayısı 2 olduğu için, round () ekrana 3.74 yazacaktır.

Bir dizi rakam arasındaki en büyük veya en küçük sayıların bulunması gereken durumda, PHP’deki max() ve min() fonksiyonları kullanılacaktır.

echo max(13,12,5,7) ;

echo min(13,12,5,7);

Şeklinde kullanılan max () ve min () komutları, sırasıyla verilen rakamlar içinden en büyük 13 ve en küçük 5 değerini ekrana yazacaktır.

PHP’de bazı durumlarda şifreleme işlemleri ya da cookie işlemleri için rasgele sayısal değerler gerekebilir. Bu durumda PHP’nin rand() fonksiyonu kullanılır. Bu fonksiyon kendisine verilen iki farklı rakam değeri arasındaki sayılar arasında rasgele seçim yapar. Örneğin

echo rand(24,131);

ekrana 24’le 131 arasında bir değer basacaktır. PHP’de rasgele değer üretmek için, rasgele sayı üretme mekanizmasını harekete geçirmek gerekmektedir. Bunun için srand() komutuyla rasgele değerler üretmek gerekir. srand() fonksiyonuna microtime() fonksiyonuyla rasgele değerler gönderilir. Gönderilen bu değerler srand() fonksiyonu üzerinden rand() fonksiyonuna ulaşır ve rasgele değerler oluşturulur.

srand((double) microtime() * 1000000);

echo rand(24,131);

Rasgele sayı oluşturabilmek için rand() fonksiyonundan önce srand() komutu çağırılmalıdır. Benzer şekilde, daha hızlı çalışan bir başka rasgele sayı üretme fonksiyonu da mt_rand() fonksiyonudur. Bu fonksiyonda da rasgele sayı mekanizmasını başlatmak için, daha önce bir başka fonksiyon olan mt_srand() çalıltırılmalıdır.

mt_srand((double) microtime() * 1000000);

echo mt_rand(15,25);

Yukarıdaki kodda 15’le 25 sayılan arasında rasgele sayı oluşturularak ekrana yazılmaktadır.

Burada anlatılmayan matematik fonksiyonları arasında trigonometri ve logaritma fonksiyonları da yer almaktadır. Ayrıca ondalık düzenden ikilik (Binary) ve ondalık (Hexadecimal) düzene geçiş için de komutlar vardır. Gerektiği zaman burada anlatılmayan matematiksel fonksiyonları PHP uygulamalarında kullanmak için, kullanım kılavuzundan uygun fonksiyon seçerek açıklamaları dikkatle incelemelisiniz.

Be the first to comment

Leave a Reply

Your email address will not be published.


*