web-dev-qa-db-ja.com

整数を文字列に変換する PHP

PHPで整数を文字列に変換する方法はありますか?

444
kman99

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";
694
Chris Thompson

これを行うには多くの方法があります。

2つの例

 $str = (string) $int;
 $str = "$int";     

詳しくはPHP Types Juggling マニュアルをご覧ください。

79
Sanjay Sheth
$foo = 5;

$foo = $foo . "";

$fooは文字列です。

しかし、あなたはキャスティングに慣れたいと思うかもしれません。キャスティングはそのようなことを達成するための正しい方法です。

$foo = 5;    
$foo = (string)$foo;

別の方法は引用符でカプセル化することです:

$foo = 5;
$foo = "$foo"
41
Sev

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";     

最後に、上記と同様に、文字列を受け入れて返す関数はすべて、integerに変換するために使用できます。以下を検討してください

$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"; 

私は最後のオプションをお勧めしませんが、私はこの振る舞いに依存している野外でのコードを見ましたので、私はそれを渡したいと思いました。

9
Alan Storm

これらの答えはすべて素晴らしいですが、値がゼロの場合はすべて空の文字列が返されます。

以下を試してください。

$v = 0;

$s = (string)$v : (string)$v ? "0";
7
$intValue = 1; 
$string = sprintf('%d',$intValue ); 

それともそれがあります:

$string = (string)$intValue ; 

または

settype(&$intValue ,'string');  
6
gewel

さまざまな変換方法があります。

$input => 123
sprintf('%d',$input) => 123
(string)$input => 123
strval($input) => 123
settype($input, "string") => 123
4
Saad

ピリオド演算子を使用してそれに文字列を連結することができます(そしてそれは文字列に型キャストされます):

$integer = 93;
$stringedInt = $integer."";

もっと正確に言えば、整数を文字列に型キャストするだけです。

$integer = 93;
$stringedInt = (string) $integer;
3
Andrew Dunkman
$amount = 2351.25;
$str_amount = "2351.25";

$strCorrectAmount = "$amount";
echo gettype($strCorrectAmount);

そのためエコーはreturn string になります。

0

文脈次第だと思います。 strval ()やキャスティング演算子(string)を使うこともできますが、たいていの場合PHPはあなたにぴったりのものと判断します。細かい注意:die()は文字列を必要とし、int :)を表示しません

0
merkuro

ここでの答えがうまく示しているように、はい、いくつかの方法があります。ただし、PHPでは、実際にそうする必要はほとんどありません。 PHPを書くための「独断的な方法」は、必要に応じて型を透過的に強制する、言語のルーズタイピングシステムに依存することです。整数値の場合、これは通常問題ありません。ただし、浮動小数点値には細心の注意を払う必要があります。

0
troelskn

あなたは単に以下を使うことができます:

$intVal = 5;
$strVal = trim($intVal);
0
Imam