Home » PHP » Fungsi String sscanf() Pada PHP

Fungsi String sscanf() Pada PHP

by Hanifah Nurbaeti
by Hanifah Nurbaeti

Section Artikel

Definisi dan Penggunaan

Fungsi sscanf() digunakan untuk dapat mem-parsing input dari string sesuai dengan format yang ditentukan. Fungsi sscanf() mem-parsing string menjadi variabel berdasarkan format string.

Jika hanya dua parameter yang diteruskan ke fungsi ini, data akan dikembalikan sebagai array. Jika tidak, jika parameter opsional diteruskan, data yang diurai akan disimpan di dalamnya. Jika ada lebih banyak penentu daripada variabel untuk menampungnya, kesalahan terjadi. Namun, jika ada lebih sedikit penentu daripada variabel, variabel tambahan berisi NULL.

Fungsi terkait:

  • printf() – mengeluarkan string yang diformat
  • sprintf() – menulis string yang diformat ke variabel

Syntax

sscanf(string,format,arg1,arg2,arg++)

Nilai Parameter

ParameterDeskripsi
stringRequired. Menentukan string untuk dibaca
formatRequired. Menentukan string dan cara memformat variabel di dalamnya.

Nilai format yang memungkinkan:

%% – Mengembalikan tanda persen
%b – Bilangan biner
%c – Karakter sesuai dengan nilai ASCII
%d – Angka desimal bertanda tangan (negatif, nol atau positif)
%e – Notasi ilmiah menggunakan huruf kecil (misalnya 1.2e + 2)
%E – Notasi ilmiah menggunakan huruf besar (misalnya 1.2E + 2)
%u – Angka desimal tak bertanda (sama dengan atau lebih besar dari nol)
%f – Angka floating-point (pengaturan lokal sadar)
%F – Angka floating-point (tidak diketahui pengaturan lokal)
%g – lebih pendek dari% e dan% f
%G – lebih pendek dari% E dan% f
%o – Nomor oktal
%s – String
%x – Angka heksadesimal (huruf kecil)
%X – Angka heksadesimal (huruf besar)

Nilai format tambahan. Ini ditempatkan di antara% dan huruf (contoh% .2f):

+(Memaksa + dan – di depan angka. Secara default, hanya angka negatif yang ditandai)
(Menentukan apa yang akan digunakan sebagai pengisi. Defaultnya adalah spasi. Harus digunakan bersama dengan penentu lebar. Contoh:%’ x20s (ini menggunakan “x” sebagai pengisi)
(Kiri-membenarkan nilai variabel)
[0-9] (Menentukan lebar minimum yang dipegang dari nilai variabel)
. [0-9] (Menentukan jumlah digit desimal atau panjang string maksimum)

Catatan: Jika beberapa nilai format tambahan digunakan, urutannya harus sama seperti di atas.
arg1Optional. Variabel pertama untuk menyimpan data
arg2Optional. Variabel kedua untuk menyimpan data
arg++Optional. Ketiga, keempat, dan seterusnya, untuk menyimpan data

Detail Teknis

Return Value:Jika hanya dua parameter yang diteruskan ke fungsi ini, data akan dikembalikan sebagai array. Jika tidak, jika parameter opsional diteruskan, data yang diurai akan disimpan di dalamnya. Jika ada lebih banyak penentu daripada variabel untuk menampungnya, kesalahan terjadi. Namun, jika ada lebih sedikit penentu daripada variabel, variabel tambahan berisi NULL.
PHP Version:4.0.1+

Contoh 1
Parse string:

<?php
$str = "age:30 weight:60kg";
sscanf($str,"age:%d weight:%dkg",$age,$weight);
// Tampilkan tipe dan valuenya
var_dump($age,$weight);
?>
  // Output : int(30) int(60)

Contoh 2
Menggunakan nilai format% s,% d dan% c:

<?php
$str = "If you divide 4 by 2 you'll get 2";
$format = sscanf($str,"%s %s %s %d %s %d %s %s %c");
print_r($format);
?>
  /* Output :
Array ( [0] => If [1] => you [2] => divide [3] => 4 [4] => by [5] => 2 [6] => you'll [7] => get [8] => 2 )

You may also like