Skip to content
Merged
Show file tree
Hide file tree
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
7 changes: 6 additions & 1 deletion reference/var/functions/intval.xml
Original file line number Diff line number Diff line change
@@ -1,6 +1,6 @@
<?xml version="1.0" encoding="utf-8"?>
<!-- $Revision$ -->
<!-- EN-Revision: 6197a68b1e9bc777323fa0df01adbed4d0c743f4 Maintainer: takagi Status: ready -->
<!-- EN-Revision: 81a581c15721591f9fdd3e36990d8b729236689d Maintainer: takagi Status: ready -->
<!-- CREDITS: hirokawa,shimooka,mumumu -->
<refentry xml:id="function.intval" xmlns="http://docbook.org/ns/docbook">
<refnamediv>
Expand Down Expand Up @@ -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
Expand Down
28 changes: 24 additions & 4 deletions reference/var/functions/settype.xml
Original file line number Diff line number Diff line change
@@ -1,6 +1,6 @@
<?xml version="1.0" encoding="utf-8"?>
<!-- $Revision$ -->
<!-- EN-Revision: 8d49e302b484f0e5c237dd16ca1afef3b7515f46 Maintainer: hirokawa Status: ready -->
<!-- EN-Revision: dafe5520d24185756b98d021c52e2df65c523e31 Maintainer: hirokawa Status: ready -->
<!-- CREDITS: shimooka -->
<refentry xml:id="function.settype" xmlns="http://docbook.org/ns/docbook">
<refnamediv>
Expand Down Expand Up @@ -84,9 +84,9 @@

<refsect1 role="returnvalues">
&reftitle.returnvalues;
<para>
&return.success;
</para>
<simpara>
&return.true.always;
</simpara>
</refsect1>

<refsect1 role="errors">
Expand All @@ -97,6 +97,14 @@
PHP 8.0.0 より前のバージョンでは、<constant>E_WARNING</constant> が発生し、
&false; が返されていました。
</para>
<simpara>
<parameter>var</parameter> が
<link linkend="language.oop5.properties">型付きプロパティ</link>
へのリファレンスで、現在の
<link linkend="language.types.declarations.strict">型付けモード</link>
では変換後の値をそのプロパティに代入できない場合、
<exceptionname>TypeError</exceptionname> をスローします。
</simpara>
</refsect1>

<refsect1 role="changelog">
Expand Down Expand Up @@ -153,6 +161,18 @@ var_dump($foo, $bar);
"int" の最大値は <constant>PHP_INT_MAX</constant> です。
</para>
</note>
<note>
<simpara>
変換後の値は <parameter>var</parameter> に代入し直されるため、
通常の代入と同じルールが適用されます。
<parameter>var</parameter> が型付きプロパティへのリファレンスで、
自動変換モードが有効な場合、変換後の値は
可能であればプロパティの型に変換し直されます。
そのため、プロパティの型は変わらず、<function>settype</function> は
&true; を返します。
変換し直せない場合は、<exceptionname>TypeError</exceptionname> がスローされます。
</simpara>
</note>
</refsect1>

<refsect1 role="seealso">
Expand Down
Loading