Fungsi Program yang besar sebaiknya dipecah menjadi sejumlah blok yang lebih kecil. Fungsi adalah blok kode untuk melaksanakan tugas tertentu Deklarasi fungsi function Pengenal_Fungsi(parameter) { blok kode } Contoh Contoh skrip judul.php <TITLE>Contoh Fungsi Aplikasi Peminjaman Buku
"); print("Berbasis web
"); } TulisJudul();
?>
// pemanggilan fungsi
Contoh skrip tulis.php
<TITLE>Contoh Fungsi dengan parameter $teks
\n"); } TulisTbl("Perhatian !"); TulisTbl("Baris ini dicetak tebal"); print("Baris ini tidak tebal
\n");
?>
Nilai balik fungsi: dengan statemen return function kuadrat($bilangan) { $tmp = $bilangan * $bilangan; return $tmp; }
Argumen bawaan Argumen diberi nilai awal, sehingga bila fungsi ini dipanggil dengan tidak menyertakan argumen itu, berarti menggunakan argumen bawaan. Contoh skrip ulang.php <TITLE>Contoh Nilai Argumen Bawaan \n"); tuliskar("+"); print("
\n"); tuliskar("+", 1);
?>
Pelewatan parameter secara referensi function { $tmp = $x = $y = }
tukar($x, $y) $x; $y; $tmp;
$a = 10; $b = 20; tukar($a, $b);
Hasil fungsi tukar tidak akan menukar nilai $a dan $b, karena parameter dilewatkan secara nilai. Pelewatan parameter secara referensi dilakukan dengan cara menambahkan karakter & (ampersand) di depan parameter. Contoh skrip argref.php <TITLE>Pelewatan Argumen dengan Referensi \n", $a, $b); tukar($a, $b); print("Sesudah penukaran : "); printf("a = %d b = %d
\n", $a, $b); ?>
Lingkup Variabel variabel yang dideklarasilkan di dalam fungsi akan bersifat lokal, hanya dikenali di dalam fungsi. "); } $bunga = "Melati"; ganti(); print("$bunga
"); ?> variabel $bunga tidak berubah menjadi “Mawar”.
Variabel bisa bersifat global dengan pernyataan global. Contoh skrip global.php <TITLE>Pengaruh Lingkup Global
$bunga = "Mawar";
$bunga = "Melati"; ganti(); print("$bunga"); ?>
Atau dengan menggunkan array GLOBALS Contoh skrip global2.php
<TITLE>Pengaruh Lingkup Global
Variabel statis • • • •
hanya dapat diakses oleh fungsi yang mendeklarasikannya tetap dipertahankan saat eksekusi fungsi berakhir pemberian nilai awal dilakukan sekali saja menggunakan kata kunci static
Contoh skrip statik.php <TITLE>Contoh Variabel Statis \n", hitung()); printf("%d
\n", hitung()); printf("%d
\n", hitung()); ?>
Fungsi Rekursi Fungsi yang memanggil dirinya sendiri. 1, jika : m = 0 m!= m * (m − 1)!, jika : m > 0 Contoh skrip rekursi.php <TITLE>Contoh Rekursi \n", faktorial(1)); printf("4! = %d
\n", faktorial(4)); ?>
Pemanggilan fungsi dinamis • •
variabel dapat mereferensi ke fungsi variabel dapat dipakai untuk memanggil fungsi
Contoh skrip dinamis.php <TITLE>Pemanggilan Fungsi Secara Dinamis $teks"); } function tulis_tebal($teks) { print("
$teks"); } $var_fungsi = "tulis_miring"; $var_fungsi("Pemrograman"); print("
\n"); $var_fungsi = "tulis_tebal"; $var_fungsi("PHP"); ?>
Argumen dengan Jumlah tidak pasti dapat ditangani dengan fungsi func_num_args, func_get_arg, func_get_args Contoh skrip multiarg.php <TITLE>Penanganan Jumlah Argumen Tidak Pasti \n"); for ($i = 0; $i < $jum_arg; $i++) { print("Nilai argumen ke-$i : "); print(func_get_arg($i)); print("
\n");
}
}
// Ambil argumen dengan func_get_args print("Melalui func_get_args:
\n"); $argumen = func_get_args(); foreach ($argumen as $kunci => $nilai) print("Argumen ke-$kunci : $nilai
\n");
print(tesmulti(1, 2, 5, 9)); ?>