PHPのint
とinteger
には違いがありますか?整数と整数のPHPの相違
これは新しく推奨されていますか?
$a = (int)"3 euros";
echo $a; // $a==3
$a = (integer)"3 euros";
echo $a; // $a==3
PHPのint
とinteger
には違いがありますか?整数と整数のPHPの相違
これは新しく推奨されていますか?
$a = (int)"3 euros";
echo $a; // $a==3
$a = (integer)"3 euros";
echo $a; // $a==3
を引用:
は、明示的(INT)または (整数)のいずれかを、整数使用する値を変換する
を整数に変換キャスト。 ...
'is_int()'、 'is_integer()' PHPの悲しみ... – cvsguimaraes
これは実際にはあてはまりませんが、実際には整数と整数の間に違いがあります。ここで 簡単な例:
//print_r('PHP version: '.phpversion().'<br />');
//PHP version: 5.5.23
$i = '1';
function testme(int $j){
print_r ($j);
}
testme(intval($i));
コードのこの小さな部分はtestme機能は「INT」を期待しているので、「E_RECOVERABLE_ERROR」 を印刷し、代わりに「整数」を取得します。
間違った例...参照:http://php.net/manual /en/functions.arguments.php#functions.arguments.type-declaration '...ブール型をパラメータまたは戻り値の型として使用するには、bool型ではなく、クラスまたはインタフェースのブール値のインスタンスである引数または戻り値が必要です'。それがあなたのコードがうまくいかない理由です。整数/整数のビーコンではありません。 'testme((int)$ i)'や 'testme((integer)$ i)'を試すことができます。それは同じ結果です: "testme()に渡された引数1は整数、整数のインスタンスでなければなりません" – instead
我々は、PHPからヒンティングのタイプを使用するときに違いが生じるが7.0+
これは、これは2番目の1はあなたがオブジェクトを返すことを期待します
function getId(): integer
{
return $id;
}
ない
function getId(): int
{
return $id;
}
有効です。奇妙な文章を引き起こす「クラス整数」:
Uncaught TypeError: Return value of getId() must be an instance of integer, integer returned in ...
これは正しいです。問題は、2012年から受け入れられた回答がもう有効ではないということです。 – roselan
整数は整数の略です – Bono
整数は整数の唯一のエイリアスです。 –
@TufanBarışYıldırımマニュアルでソースを見つけることができませんでしたが、 'int'は' var_dump((整数)1)を考慮して整数よりも有利です '; 'int 1'(php 5.3.15)を出力します。 '(int)'もドキュメントで '(integer)'より頻繁に使用されます。おそらく整数は整数のエイリアスです...ちょうどニットピッキング:P – zamnuts