Home > Article > Backend Development > How to correctly implement the need to convert PHP strings into numerical values_PHP Tutorial
When a string is evaluated as a number, the following rules are used to determine the type and value of the result.
If it contains any of the ".", "e" or "E" characters, the string is evaluated as a float. Otherwise it is treated as an integer.
The value is determined by the first part of the string. Feifei, Asp Technology Park If the string starts with legal numeric data, use that number as its value, otherwise its value is 0 (zero). Legal numeric data begins with an optional sign, followed by one or more digits (optionally including a decimal fraction), followed by an optional exponent. Feifei Asp! Technology Park Index is an "e" or "E" followed by one or more numbers.
<ol class="dp-xml"><li class="alt"><span><span class="tag"><</span><span> ?php </span></span></li><li><span>$</span><span class="attribute">foo</span><span> = </span><span class="attribute-value">1</span><span> + "10.5"; <br />// $foo is float (11.5) </span></li><li class="alt"><span>$</span><span class="attribute">foo</span><span> = </span><span class="attribute-value">1</span><span> + "-1.3e3"; <br />// $foo is float (-1299) </span></li><li><span>$</span><span class="attribute">foo</span><span> = </span><span class="attribute-value">1</span><span> + "bob-1.3e3"; <br />// $foo is integer (1) </span></li><li class="alt"><span>$</span><span class="attribute">foo</span><span> = </span><span class="attribute-value">1</span><span> + "bob3"; <br />// $foo is integer (1) </span></li><li><span>$</span><span class="attribute">foo</span><span> = </span><span class="attribute-value">1</span><span> + "10 Small Pigs"; <br />// $foo is integer (11) </span></li><li class="alt"><span>$</span><span class="attribute">foo</span><span> = </span><span class="attribute-value">4</span><span> + "10.2 Little Piggies";<br /> // $foo is float (14.2) </span></li><li><span>$</span><span class="attribute">foo</span><span> = </span><span class="attribute-value">"10.0 pigs "</span><span> + 1; <br />// $foo is float (11) </span></li><li class="alt"><span>$</span><span class="attribute">foo</span><span> = </span><span class="attribute-value">"10.0 pigs "</span><span> + 1.0; <br />// $foo is float (11) </span></li><li><span class="tag">?></span><span> </span></span></li></ol>
If you want to test any of the PHP string-to-number examples in this section, you can copy and paste them and add the following line to see what happens for yourself
<ol class="dp-xml"> <li class="alt"><span><span class="tag"><</span><span> ?php </span></span></li><li><span>echo "$</span><span class="attribute">foo</span><span>==$foo; type is " .<br /> gettype ($foo) . "</span><span class="tag"><</span><span> </span><span class="tag-name">br</span><span> </span><span class="tag">/></span><span>n"; </span></span></li> <li class="alt"> <span class="tag">?></span><span> </span> </li> </ol>
Don't expect to get the encoding of a character when you convert it to an integer (you probably do this in C too). If you wish to implement PHP string to numeric conversion between character encodings and characters, use the ord() and chr() functions.