cvs: phpdoc /en/language types.xml

From: Date: Wed, 31 Oct 2001 02:02:21 +0000
Subject: cvs: phpdoc /en/language types.xml
Groups: php.doc 
Request: Send a blank email to phpdoc+get-969338376@lists.php.net to get a copy of this message
jimw Tue Oct 30 21:02:21 2001 EDT Modified files: /phpdoc/en/language types.xml Log: put overflow examples together, and division example on its own. fix typo and another dash. Index: phpdoc/en/language/types.xml diff -u phpdoc/en/language/types.xml:1.57 phpdoc/en/language/types.xml:1.58 --- phpdoc/en/language/types.xml:1.57 Tue Oct 30 20:53:22 2001 +++ phpdoc/en/language/types.xml Tue Oct 30 21:02:20 2001 @@ -1,5 +1,5 @@ <?xml encoding="iso-8859-1"?> -<!-- $Revision: 1.57 $ --> +<!-- $Revision: 1.58 $ --> <chapter id="language.types"> <title>Types</title> @@ -312,38 +312,26 @@ <sect2 id="language.types.integer.overflow"> <title>Integer overflow</title> <para> - If you specify a number beyond the bounds of the <type>integer</type> type, - it will be interpreted as a <type>float</type> instead. - </para> - <para> - In PHP there is also no such thing as integer division. - <literal>1/2</literal> yields the <type>float</type> - <literal>0.5</literal>. <!-- See ??? for more information. (with the - operators, or with type-jug) --> + If you specify a number beyond the bounds of the <type>integer</type> + type, it will be interpreted as a <type>float</type> instead. Also, if + you perform an operation that results in a number beyond the bounds of + the <type>integer</type> type, a <type>float</type> will be returned + instead. + <informalexample> <programlisting role="php"> $large_number = 2147483647; var_dump($large_number); // output: int(2147483647) + $large_number = 2147483648; var_dump($large_number); // output: float(2147483648) // this goes also for hexadecimal specified integers: - var_dump( 0x80000000 ); // output: float(2147483648) -var_dump( 25/7 ); -// output: float(3.5714285714286) - </programlisting> - </informalexample> - Furthermore, if some function or operator yields a number that is beyond - the boundaries of <type>integer</type>, it will also - be automatically converted to - <type>float</type>. - <informalexample> - <programlisting role="php"> $million = 1000000; $large_number = 50000 * $million; var_dump($large_number); @@ -360,10 +348,22 @@ positive there is no problem. </simpara> <simpara> - This is solved in PHP 4.1.0 + This is solved in PHP 4.1.0. </simpara> </warning> </para> + <para> + There is no integer division operator in PHP. + <literal>1/2</literal> yields the <type>float</type> + <literal>0.5</literal>. <!-- See ??? for more information. (with the + operators, or with type-jug) --> + <informalexample> + <programlisting role="php"> +var_dump( 25/7 ); +// output: float(3.5714285714286) + </programlisting> + </informalexample> + </para> </sect2> @@ -373,8 +373,8 @@ To explicitly convert a value to <type>integer</type>, use either the <literal>(int)</literal> or the <literal>(integer)</literal> cast. However, in most cases you do not need to use the cast, since a value - will be autmatically converted if an operator, function or - control structure requires a <type>integer</type>-argument. + will be automatically converted if an operator, function or + control structure requires a <type>integer</type> argument. </simpara> <simpara> See also <link linkend="language.types.type-juggling">type-juggling</link>.

« previous php.doc (#969338376) next »