diff --git a/reference/var/functions/intval.xml b/reference/var/functions/intval.xml index 37ec59ae45..261f895f3b 100644 --- a/reference/var/functions/intval.xml +++ b/reference/var/functions/intval.xml @@ -1,6 +1,6 @@ - + @@ -171,11 +171,16 @@ echo intval('1e10'), PHP_EOL; // 10000000000 echo intval(0x1A), PHP_EOL; // 26 echo intval('0x1A'), PHP_EOL; // 0 echo intval('0x1A', 0), PHP_EOL; // 26 +echo intval('1A', 16), PHP_EOL; // 26 echo intval(42000000), PHP_EOL; // 42000000 echo intval(420000000000000000000), PHP_EOL; // -4275113695319687168 echo intval('420000000000000000000'), PHP_EOL; // 9223372036854775807 echo intval(42, 8), PHP_EOL; // 42 echo intval('42', 8), PHP_EOL; // 34 +echo intval(42, 7), PHP_EOL; // 42 +echo intval('42', 7), PHP_EOL; // 30 +echo intval('1000', 11), PHP_EOL; // 1331 +echo intval('1ya', 36), PHP_EOL; // 2530 echo intval(array()), PHP_EOL; // 0 echo intval(array('foo', 'bar')), PHP_EOL; // 1 echo intval(false), PHP_EOL; // 0 diff --git a/reference/var/functions/settype.xml b/reference/var/functions/settype.xml index c37b4656be..3aab82851f 100644 --- a/reference/var/functions/settype.xml +++ b/reference/var/functions/settype.xml @@ -1,6 +1,6 @@ - + @@ -84,9 +84,9 @@ &reftitle.returnvalues; - - &return.success; - + + &return.true.always; + @@ -97,6 +97,14 @@ PHP 8.0.0 より前のバージョンでは、E_WARNING が発生し、 &false; が返されていました。 + + var が + 型付きプロパティ + へのリファレンスで、現在の + 型付けモード + では変換後の値をそのプロパティに代入できない場合、 + TypeError をスローします。 + @@ -153,6 +161,18 @@ var_dump($foo, $bar); "int" の最大値は PHP_INT_MAX です。 + + + 変換後の値は var に代入し直されるため、 + 通常の代入と同じルールが適用されます。 + var が型付きプロパティへのリファレンスで、 + 自動変換モードが有効な場合、変換後の値は + 可能であればプロパティの型に変換し直されます。 + そのため、プロパティの型は変わらず、settype は + &true; を返します。 + 変換し直せない場合は、TypeError がスローされます。 + +