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() 関数は、string を int に変換します。
floatval() 関数は、string を float に変換します。
これらの関数が受け入れるパラメーターは string で、戻り値はそれぞれ整数または浮動小数点数です。
intval( $StringName );
変数 StringName は string の値を保持します。
<?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 で文字列の空白をすべて削除する方法
- PHP で DateTime を文字列に変換する方法
- PHP で文字列を日付と日時に変換する方法
- PHP で整数を文字列に変換する方法
- PHP で配列を文字列に変換する方法