【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を返します。

【PHP8.x】sscanf関数の使い方 | いっしー@Webエンジニア