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