Rumah > Artikel > pembangunan bahagian belakang > PHP sscanf()
Sscanf() ialah fungsi pra-takrif dalam PHP yang mengembalikan rentetan input yang dihuraikan selepas menghuraikannya mengikut format yang diperlukan. Ia mengambil input daripada 2 parameter dan memberikan kami tatasusunan yang diperlukan dan dalam kes lain apabila parameter lain diluluskan seperti parameter pilihan, data yang dihuraikan akan disimpan di dalamnya. Ia menimbulkan ralat apabila terdapat lebih banyak penentu daripada pembolehubah untuk mengandungi ini dan pembolehubah tambahan akan mendapat NULL jika terdapat penentu yang lebih rendah daripada pembolehubah.
Mulakan Kursus Pembangunan Perisian Percuma Anda
Pembangunan web, bahasa pengaturcaraan, ujian perisian & lain-lain
Diberikan di bawah ialah sintaks PHP sscanf():
sscanf(input_string, format, arg1, arg2, arg3....)
Parameter Input:
1. rentetan_input: Ini ialah rentetan input untuk dibaca.
2. format: Kami boleh menentukan format mengikut senarai di bawah seperti yang diperlukan:
Terdapat juga beberapa nilai format tambahan yang diletakkan di antara simbol % dan huruf yang kami berikan. (Contohnya %0.3f)
Nilai pulangan: Di sini terdapat 2 kes yang boleh berlaku:
Diberikan di bawah adalah contoh yang dinyatakan:
Kod:
<?php $text = "Random sentence goes here with numbers 5 and 8"; $f = sscanf($text,"%s %s %s %s %s %s %d %s %d"); print_r($f); ?>
Output:
Dalam contoh ini kami menentukan teks seperti yang diperlukan. Kemudian menggunakan fungsi sscanf dan menentukan format yang betul yang mewakili rentetan input kami. Oleh itu dalam output rentetan yang tepat dipaparkan sebagai tatasusunan. Ini hanya jika format sepadan dengan data.
Kod:
<?php // fetching the unique ID of product list($ID) = sscanf("SN/680001", "SN/%d"); // fetching date of manufacturing $manf = "March 03 2001"; // fetching the date of expiry $expiry = "March 03 2002"; // Parsing using sscanf function list($mon, $day, $yr) = sscanf($manf, "%s %d %d"); list($mon, $day, $yr) = sscanf($expiry, "%s %d %d"); echo "Product $ID was manufactured on $manf and will expire on: $yr-" . substr($mon, 0, 3) . "-$day\n"; ?>
Output:
Dalam contoh ini, kami memaparkan cara menyemak dan memaparkan maklumat produk seperti ID pembuatan Uniknya dan tarikh tamat tempoh. Jadi dalam parameter pertama kami mengambil maklumat ID dan menghuraikannya dalam format %d. Seterusnya kami mengambil tarikh pembuatan dan tarikh luput produk dan menghuraikan sama seperti format yang diperlukan menggunakan fungsi sscanf. Kemudian memaparkan semua perkara yang dihuraikan dalam satu ayat. Pelbagai perkara boleh ditambah di sini untuk memaparkan maklumat yang kami mahu.
Code:
<?php // Fetching designer info and to generate DressInfo entry $design = "13\tCoco Chanel"; $str = sscanf($design, "%d\t%s %s", $ID, $firstname, $lastname); // Displaying all the above details after formatting echo "<author id='$ID'> <firstname>$firstname</firstname> <surname>$lastname</surname> </author>\n"; ?>
Output:
In this example we are using sscanf function to first parse the ID and name of the designer. Then displaying the same in HTML format by splitting the names into first name and last name.
Code:
<?php // We are initializing the string here $arr = "Character PHP and number 7"; // Parsing the input string according to different format $format = sscanf($arr,"%s %c%c%c %s %s %d"); print_r($format); ?>
Output:
In the above example we are first initializing the string as required and this time including a few character sets in combination with strings. The same we are parsing using the sscanf function.
As seen above in all the examples, sscanf function in PHP is basically used to parse any type of the input string as per the requirements. There are a few cases where this function shows inefficiency to parse the strings, where there may be incorrect output when we try to parse a tab delimited string also having normal spaces in between. It also does not give the expected output if in the code there is a file name with its extension where it finds difficult to separate the two in presence of a “.”.
Atas ialah kandungan terperinci PHP sscanf(). Untuk maklumat lanjut, sila ikut artikel berkaitan lain di laman web China PHP!