【PHP8.x】sscanf関数の使い方
作成日: 更新日:
sscanf関数は、文字列から、定義されたフォーマットに従ってデータを読み込み抽出する関数です。C言語のscanf
関数に似ており、ファイル入力ではなくPHP変数内の文字列を解析する際に用います。
ログエントリや特定の形式の文字列から、日付、数値、文字列などの情報を構造化して取り出す際に非常に有効です。
sscanf
関数を使うには、解析対象の文字列とフォーマット文字列の二つの引数を指定します。フォーマット文字列には、データの型を示す「フォーマット指定子」(例: %d
整数、%s
文字列など)を記述し、取得するデータの形式を指示します。
正常にデータが抽出された場合、sscanf
関数は抽出された値を含む配列を返します。各要素はフォーマット指定子の順序に対応します。読み込みに失敗した場合はfalse
が返されます。これにより解析成否を容易に確認でき、文字列から特定情報を正確に取得する強力なツールです。
基本的な使い方
構文(syntax)
<?php
$inputString = "Item: Apple, Quantity: 5, Price: 1.20";
$format = "Item: %s, Quantity: %d, Price: %f";
$count = sscanf($inputString, $format, $itemName, $quantity, $price);
?>
引数(parameters)
string $string, string $format, mixed ...$vars
- string $string: 解析対象となる文字列
- string $format: $string を解析するためのフォーマット文字列
- mixed ...$vars: フォーマット文字列に対応する、解析結果を格納する変数のリスト
戻り値(return)
array|int|null
sscanf関数は、指定されたフォーマット文字列に従って、入力文字列を解析し、その結果を配列として返します。解析に成功した要素の数、またはフォーマット文字列の指定によっては整数を返すこともあります。解析に失敗した場合はnullを返します。