Nilai Parameter Default
Termasuk bagian Dasar-Dasar dalam perjalanan PHP di Coddy. Pelajaran 64 dari 71.
Terkadang kamu ingin parameter fungsi memiliki nilai pengganti jika tidak ada argumen yang diberikan. Nilai parameter default memungkinkan kamu menentukan nilai parameter jika pemanggil tidak menentukannya.
Untuk menetapkan nilai default, tetapkan langsung di deklarasi fungsi menggunakan operator =:
<?php
function greet($name = "Guest") {
echo "Hello, $name!\n";
}
greet("Alice");
greet();
?>Ini menghasilkan output:
Hello, Alice!
Hello, Guest!Saat kamu memanggil greet("Alice"), argumen tersebut menggantikan nilai default. Saat kamu memanggil greet() tanpa argumen, PHP menggunakan "Guest".
Kamu bisa mencampur parameter wajib dan opsional, tetapi parameter dengan nilai default harus diletakkan setelah parameter wajib:
<?php
function createUser($name, $role = "member") {
return "$name is a $role";
}
echo createUser("Alice") . "\n";
echo createUser("Bob", "admin");
?>Hasilnya:
Alice is a member
Bob is a adminParameter pertama $name wajib diisi, sedangkan $role akan menggunakan nilai default "member" jika tidak diberikan. Pola ini membuat fungsi-fungsimu lebih fleksibel tanpa mengharuskan pemanggil selalu memberikan setiap argumen.
Tantangan
MudahBaca dua baris input:
- Nama produk (misalnya,
Laptop) - Kuantitas (misalnya,
5). Input ini boleh kosong
Buat fungsi bernama formatOrder yang menerima dua parameter: $product (wajib) dan $quantity (opsional, nilai defaultnya 1). Fungsi tersebut harus mengembalikan string dengan format berikut:
Order: [quantity]x [product]Jika input kuantitas kosong, panggil fungsi hanya dengan nama produk (gunakan kuantitas default). Jika tidak, panggil fungsi dengan kedua nilai.
Cetak hasil yang dikembalikan.
Contoh 1:
Jika inputnya adalah Laptop dan 5, outputnya harus:
Order: 5x LaptopContoh 2:
Jika inputnya adalah Keyboard dan baris kosong, outputnya harus:
Order: 1x KeyboardContoh 3:
Jika inputnya adalah Monitor dan 3, outputnya harus:
Order: 3x MonitorCoba sendiri
<?php
// Baca input
$product = trim(fgets(STDIN));
$quantity = trim(fgets(STDIN));
// TODO: Buat fungsi formatOrder dengan $product (wajib) dan $quantity (opsional, nilai default 1)
// Fungsi tersebut harus mengembalikan string dengan format: "Order: [quantity]x [product]"
// TODO: Panggil fungsi sesuai dengan apakah quantity kosong atau tidak
// Jika quantity kosong, panggil fungsi hanya dengan product (gunakan nilai default)
// Jika tidak, panggil fungsi dengan product dan quantity
// Cetak hasilnya
echo $result;
?>Pelajaran ini berisi kuis singkat. Mulai pelajarannya untuk menjawab kuis dan melacak progresmu.
Semua pelajaran di Dasar-Dasar
4Operator Perbandingan & Logika
Operator PerbandinganKesamaan & IdentitasOperator Logika Bagian 1Operator Logika Bagian 2Rangkuman: Logika Sederhana2Variabel dan Tipe Data
AngkaString dan Tanda KutipBooleanKonvensi PenamaanRangkuman, Inisialisasi VariabelVariabel KosongPenggabungan stringMengambil input PenggunaKonversi ke Tipe Data Lain5Logika Percabangan
Pernyataan ifIf-elseOperator ternaryOperator koalesensi nullPernyataan switchRangkuman: Membuat Keputusan3Operator Dasar
Operator AritmetikaOperator ModuloOperator PangkatPenugasan GabunganInkrementasi/DekrementasiPrioritas OperatorUlasan: Perhitungan SederhanaOperator stringLatihan sendiri: Compiler PHP online