PHP で文字列を数値に変換する方法

Minahil Noor 2023年1月30日
  1. PHP で明示的な型キャストを使用して文字列を数値に変換する
  2. PHP で intval() 関数を使用して文字列を数値に変換する
  3. PHP で settype() 関数を使用して文字列を数値に変換する
PHP で文字列を数値に変換する方法

この記事では、PHP で文字列数値に変換するメソッドを紹介します。

  • 明示的な型キャストを使用する
  • intval() / floatval() 関数を使用する
  • settype() 関数を使用する

PHP で明示的な型キャストを使用して文字列を数値に変換する

明示的な型キャストは、任意の型の変数を必要な型の変数に変換します。変数をプリミティブデータ型に変換します。変数を明示的に int または float に型キャストする正しい構文は次のとおりです。

$variableName = (int)$stringName
$variableName = (float)$stringName

変数 $variableName は、number の値を保持する整変数です。変数 $stringName は数値の string です。数値以外の文字列を数値に変換することもできます。

<?php  
$variable = "10";
$integer = (int)$variable;
echo "The variable $variable has converted to a number and its value is $integer.";  
echo "\n";

$variable = "8.1";
$float = (float)$variable;
echo "The variable $variable has converted to a number and its value is $float.";  
?>

出力:

The variable 10 has converted to a number and its value is 10.
The variable 8.1 has converted to a number and its value is 8.1.

非数値文字列の場合、出力として 0 が返されます。

<?php  
$variable = "abc";
$integer = (int)$variable;
echo "The variable has converted to a number and its value is $integer.";  
?>

出力:

The variable has converted to a number and its value is 0.

PHP で intval() 関数を使用して文字列を数値に変換する

intval() 関数は、stringint に変換します。

floatval() 関数は、stringfloat に変換します。

これらの関数が受け入れるパラメーターは string で、戻り値はそれぞれ整数または浮動小数点数です。

intval( $StringName );  

変数 StringNamestring の値を保持します。

<?php  
$variable = "53";
$integer = intval($variable);
echo "The variable $variable has converted to a number and its value is $integer.";  
echo "\n";

$variable = "25.3";
$float = floatval($variable);
echo "The variable $variable has converted to a number and its value is $float.";  
?>

出力:

The variable 53 has converted to a number and its value is 53.
The variable 25.3 has converted to a number and its value is 25.3.

指定された文字列が数値と文字列表現の混合である場合、2020Time のように、intval()2020 を返します。しかし、与えられた文字列が数字で始まらない場合、0 を返します。floatval() メソッドも同様です。

コード例:

<?php  
$variable = "2020Time";
$integer = intval($variable);
echo "The variable $variable has converted to a number and its value is $integer.";  
echo "\n";

$variable = "Time2020";
$integer = intval($variable);
echo "The variable $variable has converted to a number and its value is $integer.";  
echo "\n";

$variable = "25.3Time";
$float = floatval($variable);
echo "The variable $variable has converted to a number and its value is $float.";  
echo "\n";

$variable = "Time25.3";
$float = floatval($variable);
echo "The variable $variable has converted to a number and its value is $float.";  
?>

出力:

The variable 2020Time has converted to a number and its value is 2020.
The variable Time2020 has converted to a number and its value is 0.
The variable 25.3Time has converted to a number and its value is 25.3.
The variable Time25.3 has converted to a number and its value is 0.

PHP で settype() 関数を使用して文字列を数値に変換する

settype() 関数は、任意のデータ型の変数を特定のデータ型に変換します。変数と型名の 2つのパラメーターを受け入れます。

settype($variableName, "typeName");

$variableName は、number に変換する任意のデータ型の変数です。"typeName"には、$variableName 変数に必要なデータ型の名前が含まれています。

<?php  
$variable = "45";
settype($variable, "integer");
echo "The variable has converted to a number and its value is $variable.";  
?>

settype() 関数は、$variable のタイプを string から整数に設定しました。これは、プリミティブデータ型にのみ適しています。

出力:

The variable has converted to a number and its value is 45.

関連記事 - PHP String

関連記事 - PHP Number