Dalam PHP, function adalah sebuah blok kode yang didefinisikan untuk melakukan tugas tertentu dan dapat digunakan kembali di seluruh program. Fungsi membantu dalam memecah kode menjadi bagian yang lebih modular dan terorganisir, sehingga memudahkan pemeliharaan, pemahaman, dan pengulangan kode.
Fungsi di PHP memiliki struktur dasar sebagai berikut:
function nama_fungsi($parameter1, $parameter2, ...) {
// Kode yang akan dijalankan
return $hasil; // (opsional)
}
function: Kata kunci yang digunakan untuk mendefinisikan sebuah fungsi.nama_fungsi: Nama fungsi yang digunakan untuk memanggil fungsi tersebut. Penamaan fungsi harus unik, mengikuti aturan penamaan variabel (tidak boleh diawali dengan angka, dan peka huruf besar/kecil).parameter: (Opsional) Variabel yang diteruskan ke dalam fungsi sebagai input. Fungsi bisa memiliki beberapa parameter atau tidak sama sekali.return: (Opsional) Mengembalikan nilai dari fungsi.Fungsi ini tidak memerlukan input dari luar dan hanya mengeksekusi kode di dalamnya.
function sayHello() {
echo "Hello, World!";
}
// Memanggil fungsi
sayHello(); // Output: Hello, World!
Fungsi ini menerima input melalui parameter dan menggunakan input tersebut di dalam blok fungsi.
function greet($name) {
echo "Hello, $name!";
}
// Memanggil fungsi dengan argumen
greet("Alice"); // Output: Hello, Alice!
Fungsi yang menggunakan return akan mengembalikan nilai ke tempat di mana fungsi tersebut dipanggil.
function add($a, $b) {
return $a + $b;
}
$sum = add(5, 7); // Mengembalikan nilai 12 dan disimpan di variabel $sum
echo $sum; // Output: 12
PHP memungkinkan Anda untuk menetapkan nilai default pada parameter. Jika argumen tidak diberikan saat fungsi dipanggil, nilai default akan digunakan.
function greet($name = "Guest") {
echo "Hello, $name!";
}
// Memanggil tanpa argumen
greet(); // Output: Hello, Guest!
// Memanggil dengan argumen
greet("John"); // Output: Hello, John!
PHP menyediakan cara untuk membuat fungsi dengan jumlah parameter yang tidak terbatas menggunakan func_get_args(), func_num_args(), dan func_get_arg().
function sumAll() {
$sum = 0;
for ($i = 0; $i < func_num_args(); $i++) {
$sum += func_get_arg($i);
}
return $sum;
}
echo sumAll(1, 2, 3, 4); // Output: 10
Fungsi anonim adalah fungsi yang tidak memiliki nama dan biasanya digunakan sebagai nilai untuk variabel atau parameter. Ini sering digunakan dalam callback atau fungsi yang membutuhkan fungsi sebagai parameter.
// Menyimpan fungsi anonim ke variabel
$greet = function($name) {
echo "Hello, $name!";
};
// Memanggil fungsi anonim
$greet("Alice"); // Output: Hello, Alice!
Fungsi rekursif adalah fungsi yang memanggil dirinya sendiri. Ini biasanya digunakan untuk masalah yang dapat dipecahkan dengan pemecahan masalah ke dalam sub-masalah yang lebih kecil, seperti menghitung faktorial atau menjelajahi struktur pohon.
function factorial($n) {
if ($n == 0) {
return 1;
} else {
return $n * factorial($n - 1);
}
}
echo factorial(5); // Output: 120
Dalam PHP, nama fungsi dapat disimpan dalam variabel, dan variabel tersebut bisa digunakan untuk memanggil fungsi. Ini disebut fungsi variabel.
function sayHello() {
echo "Hello!";
}
$myFunction = "sayHello";
$myFunction(); // Output: Hello!
PHP menyediakan banyak fungsi bawaan yang dapat langsung digunakan tanpa perlu mendefinisikannya sendiri. Beberapa contoh fungsi bawaan PHP meliputi:
strlen(), strtolower(), strtoupper(), substr()
count(), array_push(), array_merge()
abs(), pow(), round(), sqrt()
date(), time(), strtotime()
Contoh penggunaan fungsi bawaan:
echo strlen("Hello, World!"); // Output: 13
echo round(3.14159, 2); // Output: 3.14
Variabel dalam fungsi PHP memiliki scope lokal, artinya variabel yang dideklarasikan di dalam fungsi tidak dapat diakses dari luar fungsi.
function myFunction() {
$x = 10; // Variabel lokal
}
echo $x; // Error: Undefined variable $x
Namun, Anda bisa menggunakan kata kunci global untuk mengakses variabel dari luar fungsi, atau menggunakan superglobal arrays seperti $GLOBALS untuk mengakses variabel global.
$y = 5;
function myFunction() {
global $y; // Mengakses variabel global $y
echo $y;
}
myFunction(); // Output: 5
Mulai dari PHP 7, Anda bisa menentukan jenis data apa yang akan dikembalikan oleh fungsi. Ini membantu mencegah kesalahan tipe data.
function addNumbers(int $a, int $b): int {
return $a + $b;
}
echo addNumbers(5, 10); // Output: 15
Fungsi dalam PHP memungkinkan Anda untuk menulis kode yang lebih modular, terstruktur, dan mudah dipelihara. Anda bisa membuat fungsi dengan atau tanpa parameter, menggunakan nilai kembalian (return), dan bahkan membuat fungsi anonim atau rekursif. PHP juga menyediakan banyak fungsi bawaan yang dapat membantu dalam berbagai operasi seperti manipulasi string, operasi array, matematika, dan sebagainya.