Function
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.
Pengertian dan Struktur Fungsi di PHP
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.
Contoh Sederhana Fungsi di PHP
Fungsi Tanpa Parameter
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 dengan Parameter
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 dengan Return Value
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
Parameter Default
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!
Fungsi dengan Jumlah Parameter yang Tidak Tetap
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 (Anonymous Functions)
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
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
Fungsi Variabel
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!
Fungsi Bawaan (Built-in Functions)
PHP menyediakan banyak fungsi bawaan yang dapat langsung digunakan tanpa perlu mendefinisikannya sendiri. Beberapa contoh fungsi bawaan PHP meliputi:
- String functions:
strlen(),strtolower(),strtoupper(),substr() - Array functions:
count(),array_push(),array_merge() - Mathematical functions:
abs(),pow(),round(),sqrt() - Date and time functions:
date(),time(),strtotime()
Contoh penggunaan fungsi bawaan:
echo strlen("Hello, World!"); // Output: 13
echo round(3.14159, 2); // Output: 3.14
Scope Variabel dalam Fungsi
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
Return Type Declarations (Deklarasi Jenis Pengembalian)
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
Kesimpulan
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.