Php dasturlash tilida turli xil ma'lumot turlari mavjud. Masalan:
- Matnli
- Butun son
- Haqiqiy son
- Mantiqiy qiymat
O'z navbatida bir turdagi qiymatdan boshqa turdagi qiymatga o'tishga tog'ri kelib qolishi mumkin, masalan foydalanuvchi kiritgan ma'lumot matnli (string) ko'rinishda keldi deylik va biz uni ustida matematik amallarni olib bormoqchimiz. Matn ustida matematik amal bajarish mantiqan to'g'ri kelmaydigan ish. Shuning uchun uni biz raqamli ko'rinishga o'tkazib olishimiz kerak bo'ladi. Bunda biz qaysi turga o'tmoqchi bo'lsak o'sha tur nomini qavs ichida yozishimiz kerak bo'ladi:
Misol uchun:
<?php
$usertext = "15";
$uservalue = (int) $usertext; // endi $uservalue qiymati matn emas raqamdan iborat bo'ldi
O'tish ro'yxati:
- int - butun turga o'tish
- foat - haqiqiy turga o'tish
- string - matnli turga o'tish
Phpda butun va haqiqiy sonlar o'rtasida matematik amallar bajarish uchun mos matematik amal belgisi ishlatiladi:
- * (yulduzcha) - ko'paytirish
- / (slesh, yon chiziq) - bo'lish
- - (tire, chiziqcha) - ayirish
- + (qo'shish belgisi, plus) - qo'shish
- % (foiz belgisi) - qoldiqli bo'lish
Bu amallarni kod yozib sinab ko'ramiz:
<?php
$a = 5;
$b = 2;
echo $a+$b; // 7 chiqadi
echo $a-$b; // 3 chiqadi
echo $a/$b; // 2.5 chiqadi
echo $a*$b; // 10 chiqadi
echo $a%$b; // 1 chiqadi
Endi o'ylab qarasak bizda haqiqiy son kelsa undan butun tipga o'tish uchun sonni yaxlitlashga to'g'ri keladi. Bunda biz php dasturlash tilining matematik funksiyalaridan foydalanishimiz maqsadga muvofiq. Bizda yaxlitlash uchun bir necha funksiyalar mavjud. Bular:
- Floor (eng yaqin kichik songa yaxlitlaydi)
- Ceil (eng yaqin katta songa yaxlitlaydi)
- Round (shunchaki yaxlitlaydi)
Amalda farqini tushunib olamiz:
<?php
$value = 5.5;
echo floor($value); // 5 chiqadi - eng yaqin kichik butun sonni chiqaradi
echo ceil($value); // 6 chiqadi - eng yaqin katta butun sonni chiqaradi
echo round($value); // 6 chiqadi - sonni yaxlitlab chiqaradi