Dört yararlı fonksiyon
PHP'de değişken değer türü değiştirmekte kullanabileceğimiz
kullanılmaya hazır fonksiyon vardır. ilerde döngüleri ele aldığımızda
daha çok anlam kazanacak olan bu değişkenleri şimdilik bir kenara
kaydedin:
isset() ve unset()
PHP, bir değişken tanımlandığı anda, sanki içinde değer varmış gibi,
bilgisayarın belleğinde yer ayırır. Bu bazen bilgisayarın kıt
kaynaklarını zorlayabilir. isset() fnksiyonu, PHP'nin bir değişkenin içinde değer bulunup bulunmadığını sınamasını sağlar. unset()
ise varolan bir değişkeni yok eder. Bu iki fonksiyonu birlikte
kullanabiliriz ve boş değişkenleri yok ederek, bilgisayarın belliğinde
yer açabiliriz:
if (isset($bir_degisken)) {
print( $bir_degisken );
}
else {
unset($bir_degisken);
}
Bu kod parçası, $bir_degisken isimli dğişkenin içi boş değişse,
içeriğini görüntüleyecek, içi boş ise varlığına son verecektir.
empty()
isset() fonksiyonun tersi işleve sahiptir; bir değişkene değer atanmamışsa, veya değeri sıfır veya boş alfanümerik (null string) ise, doğru (True) değeri verir.
$bir_degisken = 123;
echo empty($bir_degisken);
$bir_degisken = "";
echo empty($bir_degisken);
Bu program parçası Browser penceresine sadece empty() fonksiyonun doğru sonuç verdiği birinci echo() deyiminde 1 yazdıracaktır.
is_string(),is_integer(),is_double(),
Sınadıkları değişkenin aradıkları türden değer içermesi halinde doğru 'True) sonuç verirler.
<?php
$a = 6.567;
if (is_double($a)) {
print ("A Double'dır<br>");
}
$b = "Reşit";
if (is_double($a)) {
print ("B String'dir<br>");
}
$c = 6;
if (is_int($c)) {
print ("C Integer'dır<br>");
}
?>
Bu kod, Browser penceresine "A double'dır, B String'dir, C
Integer'dır" yazdıracaktır. PHP'de bu fonksiyonlara benzeyen fakat başka
tür değer arayan şu fonksiyonlar da vardır: is_array(), is_object.
intval(), doubleval(), doubleval()
Bir değişkenin değerinin türünü başka bir türe çevirmeye yararlar. intval(), ortaya çıkartacağı tamsayı değişkenin 10 tabanlı (decimal) veya 16 tabanlı (hexadecimal) olmasını sağlayan ikinci bir argüman alabilir:
<?php
$a = "123ABC";
$b = inval($a, 16)
print ($b);
?>
Bu program Browser penceresine, 123'ün hexadecimal ifadesi olan "1194666" yazdıracaktır.