Yazdır 28 Mart 2010 Pazar (Hit: 52435)

Fonksiyon Tanımlama

Kullanıcı tanımlı fonksiyonlara çok basit bir örnekle başlayalım. Bu örnekte ekrana sadece Merhaba Dünya! yazan bir fonksiyon tanımlayıp çağıralım.

<html>
<body>
<?php
function yaz(){
   echo "Merhaba Dünya!";
}

yaz();
?>
</body>
</html>

Yazdığımız örnekte fonksiyonumuzun adı yaz'dır. Görüldüğü üzere hiçbir parametre almadığı gibi geriye de herhangi bir değer göndermiyor. Daha sonra tanımladığımız fonksiyonu yaz(); diyerek çağırıyoruz. Hiçbir parametre almasa dahi () parantezlerini kullanmamız gerekir.

 

Şimdi örneğimizi biraz geliştirelim. Bu kez fonksiyonuz dışarıdan aldığı metni ekrana yazsın.

<html>
<body>
<?php
function yaz($metin){
   echo $metin,"<br>";
}

yaz("Fazla laf yalansız olmaz!");

$gunun_sozu="Bu kadar cehalet ancak tahsille olur!";
yaz($gunun_sozu);
?>
</body>
</html>

 

Örnek: Bu kez aldığı iki sayıyı toplayarak geriye sonucu gönderen bir fonksiyon tanımlayalım ve çağıralım.

<?php
function topla($sayi1,$sayi2){
   $toplam=$sayi1+$sayi2;
   return $toplam;
}

$sonuc=topla(45,14);
echo $sonuc,"<br>";

$s1=45;
$s2=14;
$sonuc=topla($s1,$s2);
echo $sonuc,"<br>";

echo topla(45,14),"<br>";
echo topla($s1,$s2),"<br>";
?>

Eğer bir fonksiyon return ile geriye bir değer gönderiyorsa o fonksiyon kullanılırken bir değişkene atanmalı ki; bu değişken fonksiyondan dönen değeri tutacaktır. Daha sonra bunu istediğiniz yerde kullanabilirsiniz. Burada biz, $sonuc isimli bir değişken kullandık. Diğer bir yöntem ise dönen değeri başka bir fonksiyona kullanması için vermektir. Yukarıdaki örnekte, echo topla(45,14),"<br>"; diyerek topla() fonksiyonundan dönen değeri doğrudan ekrana yazması için echo() fonksiyonuna verdik.

 

Örnek: Aldığı iki sayıyı, aldığı operatöre göre işleme alıp sonucu gönderen fonksiyonu tanımlayıp çağıralım.

<?php
function hesapla($sayi1,$sayi2,$islem){
   switch ($islem){
      case "+": $sonuc=$sayi1+$sayi2; break;
      case "-": $sonuc=$sayi1-$sayi2; break;
      case "*": $sonuc=$sayi1*$sayi2; break;
      case "/": $sonuc=$sayi1/$sayi2; break;
      default: $sonuc="Geçersiz işlem";
   }
   return $sonuc;
}

$sonuc=hesapla(6,4,"*");
echo $sonuc,"<br>";

$s1=42;
$s2=3;
echo hesapla($s1,$s2,"+"),"<br>";
echo hesapla($s1,$s2,"-"),"<br>";
echo hesapla($s1,$s2,"*"),"<br>";
echo hesapla($s1,$s2,"/"),"<br>";
?>

 

Örnek: Aldığı metni aldığı sayı kadar ekrana yazan fonksiyonu tanımlayıp çağıralım.

<?php
function yaz($metin,$sayi){
   for ($i=1;$i<=$sayi;$i++)
      echo $metin,"<br>";
}

yaz("Bu metni on kere yaz bakalım.",10);

$txt="Yazdır yazdır nereye kadar?";
$number=20;
yaz($txt,$number);
?>

Bu site meslek liselerinde bilişim bölümü web programcılığı dalında okutulan internet programcılığı dersine yardımcı olması için tasarlanmıştır. İletişim için iletisim@phpdefteri.com
Apache PHP MySQL PhpMyAdmin EasyPHP Xampp AppServ Wamp W3School

www.phpdefteri.com © 2010