String & Fungsi Bawaan

Fungsi string modern PHP 8 (str_contains, str_starts_with), sprintf, number_format, multibyte (mb_*), regex dasar, dan fungsi matematika.

Part 8 dari 22 ± 40 menit Gratis

Fungsi string sehari-hari

FungsiContoh → hasil
strlenstrlen('halo') → 4 (hitung byte)
strtoupper / strtolower / ucfirst / ucwordsubah huruf besar/kecil
trim / ltrim / rtrimbuang spasi di tepi
str_replace('a','b',$s)ganti semua kemunculan
substr($s, 0, 3)ambil potongan
strpos($s, 'x')posisi pertama (atau false)
explode(',', $s) / implode(', ', $arr)pecah / gabung
str_pad, str_repeat, wordwrappadding, ulang, bungkus baris

Tiga fungsi baru PHP 8.0 — akhirnya!

str_contains('Belajar PHP', 'PHP');        // true
str_starts_with('https://x.com', 'https'); // true
str_ends_with('laporan.pdf', '.pdf');      // true

Sebelum PHP 8, kita harus menulis strpos(...) !== false yang rawan salah. Ketiga fungsi baru ini membaca seperti kalimat dan mengembalikan bool langsung.

Format teks: sprintf & number_format

sprintf('%s membeli %d barang, total Rp %s', 'Budi', 3, number_format(1500000, 0, ',', '.'));
// Budi membeli 3 barang, total Rp 1.500.000

sprintf('%05.1f', 3.14159);   // 003.1
sprintf('%-10s|', 'kiri');    // rata kiri

Penentu format: %s string, %d bulat, %f desimal, %05d padding nol. number_format($angka, desimal, pemisahDesimal, pemisahRibuan) untuk format rupiah.

Teks multibyte (Unicode)

strlen('café') → 5 karena huruf é memakai 2 byte. Untuk teks yang bisa berisi huruf non-ASCII (nama, emoji, aksara), pakai keluarga mb_: mb_strlen, mb_substr, mb_strtoupper, mb_str_split. Pastikan ekstensi mbstring aktif.

Regex dasar (PCRE)

preg_match('/^\d{4}-\d{2}-\d{2}$/', '2026-10-16');          // 1 (cocok)
preg_replace('/\s+/', ' ', "banyak    spasi");                // "banyak spasi"
preg_match_all('/#(\w+)/', 'belajar #php #laravel', $m);     // $m[1] = ['php','laravel']
filter_var('a@b.com', FILTER_VALIDATE_EMAIL);                // string atau false

Untuk validasi umum (email, URL, IP), utamakan filter_var() daripada menulis regex sendiri.

Fungsi matematika

round(3.456, 2) → 3.46 · floor · ceil · abs · max/min · intdiv · random_int(1, 6) (aman untuk keamanan; jangan pakai rand() untuk token). Hati-hati: bilangan desimal biner tidak presisi — 0.1 + 0.2 !== 0.3. Untuk uang, simpan dalam satuan terkecil (int rupiah/sen) atau pakai ekstensi BCMath.

Keamanan string

Jangan pernah menyisipkan input pengguna mentah ke HTML, SQL, atau perintah shell. Escape sesuai tujuan: htmlspecialchars() untuk HTML, prepared statement untuk SQL (bab PDO), escapeshellarg() untuk shell.

Praktikkan langsung, gratis

Tulis dan jalankan kode langsung di browser, dapatkan penilaian otomatis. Daftar gratis kapan saja untuk menyimpan progres dan meraih sertifikat.

Coba latihan sekarang, tanpa daftar
Bagikan: WhatsApp Facebook LinkedIn X