sscanf() は、必要な形式に従って解析された入力文字列を返す、PHP の事前定義関数です。 2 つのパラメーターの入力を受け取り、必要な配列を提供します。また、オプションのパラメーターなどの他のパラメーターが渡される場合、解析されたデータはそれらのパラメーターに保存されます。これらを含める変数より多くの指定子がある場合はエラーがスローされ、変数よりも低い指定子が存在する場合、余分な変数は NULL になります。
無料ソフトウェア開発コースを始めましょう
Web 開発、プログラミング言語、ソフトウェア テスト、その他
以下は PHP sscanf() の構文です。
sscanf(input_string, format, arg1, arg2, arg3....)
入力パラメータ:
1. input_string: これは、読み取られる入力文字列です。
2. format: 必要に応じて、以下のリストに従って形式を指定できます:
% 記号と指定する文字の間には、いくつかの追加の形式値もあります。 (例: %0.3f)
戻り値: ここでは 2 つのケースが発生する可能性があります:
言及されている例を以下に示します:
コード:
<?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); ?>
出力:
この例では、必要に応じてテキストを指定しています。次に、sscanf 関数を使用して、入力文字列を表す正しい形式を指定します。したがって、出力では正確な文字列が配列として表示されます。これは、形式がデータと一致する場合にのみ行われます。
コード:
<?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"; ?>
出力:
この例では、一意の製造 ID や有効期限などの製品情報を確認および表示する方法を示しています。したがって、最初のパラメータでは ID 情報を取得し、%d 形式で解析しています。次に、製品の製造日と使用期限を取得し、sscanf 関数を使用して必要な形式と同じように解析します。次に、解析されたすべての内容を 1 つの文で表示します。ここに複数のものを追加して、必要な情報を表示できます。
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 “.”.
以上がPHP sscanf()の詳細内容です。詳細については、PHP 中国語 Web サイトの他の関連記事を参照してください。