Ders Notlari5

Download Report

Transcript Ders Notlari5

Fonksiyonlar
Fonksiyon nedir?
PHP’de tanımlı 1000’den fazla fonksiyon vardır. Bu
fonksiyonların bir kismini bu kurs kapsamında
göreceksiniz. http:// www.php.net/ adresinde tanımlı
fonksiyonlar hakkında bilgi bulabilirsiniz. Eğer
fonksiyonun
adını
biliyorsanız
örn.
http://www.php.net/pow daha detaylı bilgi alabilirsiniz.
<?php
$deger = pow(5,3); //625 döndürür
echo $deger;
echo "<br>", pow(5,3);
echo "<br>Besin ucuncu kuvveti ".pow(5,3)."tir.";
printf("<br>Besin ucuncu kuvveti %d tir", pow(5,3));
?>
1
Fonksiyon tanımlamak
PHP’de standart olarak tanımlanmış çok geniş
fonksiyonlarla birlikte ihtiyacınızı karşılamak için
fonksiyonlar tanımlamanız gereken durumlar olacaktır.
Function fonksiyonismi(parametre){
fonksiyon komutları
}
<?php
function dipnotekle() {
echo "Copyright 2012 Erman YUKSELTURK";
}
?>
<?php
dipnotekle();
?>
2
Fonksiyon’a değer göndermek
Fonksiyonlara
gönderilebilir.
parametreleri
kullanarak
değer(ler)
Fiyatı ve vergi oranı verilen bir malın fiyatını bulan bir
fonksiyon yazalım.
<?php
function FiyatiBul($fiyat, $VergiOrani) {
$toplam=$fiyat + ($fiyat * $VergiOrani);
echo "Toplam fiyat: $toplam";
}
?>
<?php
FiyatiBul(100,0.18);
$OdenenPara = 1250.00;
$faiz = 0.25;
echo "<br>";
FiyatiBul($OdenenPara, $faiz);
?>
3
Fonksiyonlardaki parametre değişikliklerini kalıcı kılmak
<?php
$fiyat = 20.99;
$vergi= 0.0575;
function FiyatiHesapla(&$fiyat, $vergi)
{
// Fiyat değişkeninin değeri ile oynayalım
$fiyat = $fiyat + ($fiyat * $vergi);
// $vergi değişkeninin değerini değiştirelim
$vergi += 4;
}
FiyatiHesapla($fiyat, $vergi);
printf("Vergi orani %01.2f%% <br />", $vergi*100);
printf("Fiyat: $%01.2f", $fiyat);
?>
4
Önceden belirlenmiş parametre değerleri
Bazı parametreler önceden belirlenebilir. Önceden
belirlenen
parametreler
fonksiyon
çağrılırken
belirtilmemişse tanımda belirtildiği gibi kullanılır.
Önceden belirlenen parametre fonksiyon çağrılırken
yeni bir değerle çağrılmışsa hesaplamalarda eski
değer yerine yeni değer kullanılır.
<?php
$fiyat = 25;
function FiyatiHesapla($fiyat, $vergi=0.10)
{
// Fiyat değişkeninin değeri ile oynayalım
$fiyat = $fiyat + ($fiyat * $vergi);
echo "<br>", $fiyat;
}
FiyatiHesapla($fiyat);
FiyatiHesapla(50, 0.20);
?>
5
İsteğe Bağlı Parametreler
Bazı parametreleri isteğe bağlı olarak atayabilirsiniz. Yani
fonksiyonu çağırırken ister o parametre ile çağırırsınız, isterseniz
fonksiyonu o parametresiz tanımlanmış gibi çağırırsınız.
İsteğe bağlı parametreler en sonda tanımlanmalıdır.
İsteğe bağlı parametreleri tanımlarken boş "" değer atanır.
<?php
$fiyat = 25;
function FiyatiHesapla($fiyat, $vergi="")
{
// Fiyat değişkeninin değeri ile oynayalım
$fiyat = $fiyat + ($fiyat * $vergi);
echo "<br>", $fiyat;
}
FiyatiHesapla($fiyat);
FiyatiHesapla(50, 0.20);
?>
6
Fonksiyonları değer döndürmesi
Fonksiyonlar return () cümlesi ile çağrılan yere bir değer
döndürebilirler.
<?php
function FiyatiHesapla($fiyat, $vergi=0.18)
{
$fiyat = $fiyat + ($fiyat * $vergi);
return $fiyat;
}
echo $Buzdolabi = FiyatiHesapla(1500);
$EtiketFiyati = 1000;
echo "<br>", $toplamFiyat=FiyatiHesapla($EtiketFiyati);
?>
List kullanılarak birden fazla değer döndürülebilir.
<?php
function KullaniciBilgileri()
{
$Kullanici[] = "Erman";
$Kullanici[] = "[email protected]";
$Kullanici[] = "Ingilizce";
return $Kullanici;
}
list ($isim, $eposta, $dil) = KullaniciBilgileri();
echo "<b>Name</b>: $isim, <b>Email</b>:$eposta, <b>Dil</b>:$dil";
?>
7
Fonksiyon Kütüphanesi oluşturmak
Oluşturduğunuz fonksiyonları bir kütüphanede toplayıp, yeniden
kullanabilirsiniz. Aşağıdaki fonksiyonları rastgele.library.php adlı
bir dosyada kaydedelim. Dosyada sadece fonksiyonlar yazılı
olabilir.
<?php
function KullaniciBilgileri()
{
$Kullanici[] = “Erman";
$Kullanici[] = "[email protected]";
$Kullanici[] = "Ingilizce";
return $Kullanici;
}
function FiyatiHesapla($fiyat, $vergi=0.18)
{
$fiyat = $fiyat + ($fiyat * $vergi);
return $fiyat;
}
?>
Bu oluşturduğumuz kütüphaneyi kullanalım.
<?php
require_once ("rastgele.library.php");
list ($isim, $eposta, $dil) = KullaniciBilgileri();
echo "<b>Name</b>: $isim, <b>Email</b>:$eposta, <b>Dil</b>:$dil";
echo "<br>", $fatura= FiyatiHesapla(500, 0.8);
?>
8
Dr. Ercan TOP
9