sayının toplamını bulan fonksiyonu yazalım.
</HTML>
Yaptığımız bu örneği 4 işlem için yazarsak PHP kodumuz şu şekilde olacaktır:
<?php
function topla ($sayi1, $sayi2)
{
$sonuc = $sayi1 + $sayi2;
return $sonuc;
}
function cikart ($sayi1, $sayi2)
{
$sonuc = $sayi1 - $sayi2;
return $sonuc;
}
function carp ($sayi1, $sayi2)
{
$sonuc = $sayi1 * $sayi2;
return $sonuc;
}
function bol ($sayi1, $sayi2)
{
$sonuc = $sayi1 / $sayi2;
return $sonuc;
}
$sayi1 = 20;
$sayi2 = 4;
print topla($sayi1, $sayi2);
print ("<br>");
print cikart($sayi1, $sayi2);
print ("<br>");
print carp($sayi1, $sayi2);
print ("<br>");
print bol($sayi1, $sayi2);
print ("<br>");
?>
Varsayılan Değer Alan Argümanlı Fonksiyonlar
Bazı fonksiyonlarda değerleri önceden varsayılan olarak belirlenmiş parametreler
bulunur. Bu fonksiyonlarda değeri girilmemiş eksik parametre veya argüman varsa
programımız hata vermeden çalışır. Çünkü daha önceden belirlediğimiz varsayılan değeri
alır. Aşağıdaki örneği dikkatlice inceleyiniz. Örnekte iki sayının çarpım işlemi
yapılmaktadır. Ancak sayılardan herhangi biri girilmediği takdirde varsayılan değeri 1 olarak
almakta ve geriye o değeriyle değer döndürmektedir
<HTML>
<HEAD>
<TITLE>PHP'de varsayýlan deðeri alan Fonksiyon</TITLE>
<meta http-equiv="content-type" content="text/html;
charset=ISO-8859-9">
<meta http-equiv="Content-Type" content="text/html;
charset=windows-1254">
</HEAD>
<BODY>
<?php
function carp ($sayi1 = 1, $sayi2 = 1)
{
$sonuc = $sayi1 * $sayi2;
return $sonuc;
}
$birincisayi = 20;
$ikincisayi = 4;
print carp($birincisayi, $ikincisayi);
print ("<br>");
print carp($birincisayi);
print ("<br>");
print carp();
?>
</BODY>
</HTML>
Browserdaki çıktımız sırasıyla 80, 20 ve 1 şeklinde olacaktır.
Global Değişkenli Fonksiyonlar
Fonksiyonlar sadece kendi içlerinde bulunan değişkenleri kullanabilir. Programda yer
alan değişkenleri kullanamaz. Bu değişkenleri kullanabilmeleri için global ifadesini
kullanmamız gerekir.
<?php
$sayi = 25;
function yazdir ()
{
print ($sayi);
}
yazdir();
?>
örnek kodda $sayi değişkeni fonksiyon
dışında olduğu için yazdir() fonksiyonu içinde herhangi
bir değer yazdırılamayacaktır. Dolayısıyla ekran çıktısı
boş olacaktır.
<?php
$sayi = 25;
function yazdir ()
{ global $sayi;
print ($sayi);
}
yazdir();
?>
Bu kodda ise önemli bir fark bulunmaktadır.
Fonksiyon içinde bulunan global $sayi satırı ile fonksiyon
dışında bulunan $sayi değişkeni fonksiyon içinde
kullanılmaktadır. Ve ekrana 25 değeri yazdırılmaktadır.
Statik (Durağan) Değişkenli Fonksiyonlar
Fonksiyonlarımızda kullandığımız değişkenler fonksiyonun işi bittiği zaman ilk değeri
ne ise o değerini alır yani diğer bir deyişle değişken ölür. Fonksiyonun ikinci veya daha
sonra çağırıldığı zamanlarda değişkenlerinin en son değerlerine ihtiyacımız olabilir. Bunun
için static ifadesini kullanabiliriz.
<?php
function saydir () {
static $sayi = 0;
$sayi++;
print ("<h3>Fonksiyonun tuttuğu sayı: $sayi </h3>");
}
// Başka kodlar buraya girebilir
print ("<h2>Fonksiyonun birinci kez çağrılması:</h2>");
saydir();
print ("<h2>Fonksiyonun ikinci kez çağrılması:</h2>");
saydir();
print ("<h2>Fonksiyonun üçüncü kez çağrılması:</h2>");
saydir();
print ("<h2>Fonksiyonun dördüncü kez çağrılması:</h2>");
saydir();
?>