PHPで整数を文字列に変換する
-
10-07-2019 - |
質問
PHPで整数を文字列に変換する方法はありますか?
解決
strval()
を使用できます。数値を文字列に変換する関数。
メンテナンスの観点から見ると、他のより難解な答えではなく、あなたがやろうとしていることは明らかです。もちろん、それはあなたのコンテキストに依存します。
$var = 5;
// Inline variable parsing
echo "I'd like {$var} waffles"; // = "I'd like 5 waffles
// String concatenation
echo "I'd like ".$var." waffles"; // I'd like 5 waffles
// Explicit cast
$items = (string)$var; // $items === "5";
// Function call
$items = strval($var); // $items === "5";
他のヒント
$foo = 5;
$foo = $foo . "";
now $ foo
は文字列です。
しかし、あなたはキャストに慣れたいかもしれません。キャストは、そのような何かを達成するための適切な方法です。
$foo = 5;
$foo = (string)$foo;
別の方法は、引用符でカプセル化することです:
$foo = 5;
$foo = "$foo"
「変換」する方法はいくつかあります。 PHPの文字列への整数。
従来のCSの方法は、変数を文字列としてキャストすることです
$int = 5;
$int_as_string = (string) $int;
echo $int . ' is a '. gettype($int) . "\n";
echo $int_as_string . ' is a '. gettype($int_as_string) . "\n";
PHPの暗黙的な型変換と文字列補間も利用できます
$int = 5;
echo $int . ' is a '. gettype($int) . "\n";
$int_as_string = "$int";
echo $int_as_string . ' is a '. gettype($int_as_string) . "\n";
$string_int = $int.'';
echo $int_as_string . ' is a '. gettype($int_as_string) . "\n";
最後に、上記と同様に、文字列を受け取って返す関数は、整数の変換に使用できます。以下を考慮してください
$int = 5;
echo $int . ' is a '. gettype($int) . "\n";
$int_as_string = trim($int);
echo $int_as_string . ' is a '. gettype($int_as_string) . "\n";
最後のオプションはお勧めしませんが、この動作に依存するコードを実際に見てきたので、それを渡すと考えました。
これらの答えはすべて素晴らしいですが、値がゼロの場合はすべて空の文字列を返します。
次を試してください:
$v = 0;
$s = (string)$v : (string)$v ? "0";
$intValue = 1;
$string = sprintf('%d',$intValue );
または次のようになります:
$string = (string)$intValue ;
または:
settype(&$intValue ,'string');
多くの変換方法があります:
$input => 123
sprintf('%d',$input) => 123
(string)$input => 123
strval($input) => 123
settype($input, "string") => 123
ピリオド演算子を使用して文字列を連結することができます(文字列に型キャストされます):
$integer = 93;
$stringedInt = $integer."";
または、より正確には、整数を文字列にキャストするだけで入力できます:
$integer = 93;
$stringedInt = (string) $integer;
コンテキストに依存すると言います。 strval ()またはキャスト演算子(文字列)を使用できますが、ただし、echoまたはprintfで使用する場合、ほとんどの場合、PHPが適切なものを決定します。1つの小さなメモ:die()は文字列を必要とし、intを表示しません:)
ここでの回答がうまく示しているように、はい、いくつかの方法があります。ただし、PHPでは、実際にそれを行う必要はほとんどありません。 「独断的な方法」 PHPを記述することは、言語の緩やかな型付けシステムに依存することであり、必要に応じて型を透過的に強制します。整数値の場合、これは通常問題ありません。ただし、浮動小数点値には非常に注意する必要があります。
次のものを使用できます。
$intVal = 5;
$strVal = trim($intVal);
$amount = 2351.25;
$str_amount = "2351.25";
$strCorrectAmount = "$amount";
echo gettype($strCorrectAmount);
したがって、エコーは string
を返します$integer = 93;
$stringedInt = $integer.'';
より速い
$integer = 93;
$stringedInt = $integer."";