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 で配列を文字列に変換する方法