V2EX = way to explore
V2EX 是一个关于分享和探索的地方
现在注册
已注册用户请  登录
laoyuan
V2EX  ›  PHP

宇宙最智能的语言 PHP,太自动了~

  •  
  •   laoyuan · 2015-04-24 09:56:46 +08:00 · 2187 次点击
    这是一个创建于 3493 天前的主题,其中的信息可能已经有所发展或是发生改变。
    $str = '2,345.67';
    var_dump($str * 100); //int(200)

    我多么希望这个结果是0啊,目测无数屁股要擦。。
    这个坑几年来已经踩了三四回了,记吃不记打-_-!!
    2 条回复
    jevonszmx
        1
    jevonszmx  
       2015-04-24 19:22:04 +08:00
    官方手册没好好看!!

    手册写的非常清楚的呢~~~

    http://php.net/manual/zh/language.types.type-juggling.php


    字符串转换为数值

    当一个字符串被当作一个数值来取值,其结果和类型如下:

    如果该字符串没有包含 '.','e' 或 'E' 并且其数字值在整型的范围之内(由 PHP_INT_MAX 所定义),该字符串将被当成 integer 来取值。其它所有情况下都被作为 float 来取值。

    该字符串的开始部分决定了它的值。如果该字符串以合法的数值开始,则使用该数值。否则其值为 0(零)。合法数值由可选的正负号,后面跟着一个或多个数字(可能有小数点),再跟着可选的指数部分。指数部分由 'e' 或 'E' 后面跟着一个或多个数字构成。

    ```
    <?php
    $foo = 1 + "10.5"; // $foo is float (11.5)
    $foo = 1 + "-1.3e3"; // $foo is float (-1299)
    $foo = 1 + "bob-1.3e3"; // $foo is integer (1)
    $foo = 1 + "bob3"; // $foo is integer (1)
    $foo = 1 + "10 Small Pigs"; // $foo is integer (11)
    $foo = 4 + "10.2 Little Piggies"; // $foo is float (14.2)
    $foo = "10.0 pigs " + 1; // $foo is float (11)
    $foo = "10.0 pigs " + 1.0; // $foo is float (11)
    ?>
    ```
    laoyuan
        2
    laoyuan  
    OP
       2015-04-24 21:49:47 +08:00
    @jevonszmx 唉,看了也记不住
    关于   ·   帮助文档   ·   博客   ·   API   ·   FAQ   ·   实用小工具   ·   4591 人在线   最高记录 6679   ·     Select Language
    创意工作者们的社区
    World is powered by solitude
    VERSION: 3.9.8.5 · 25ms · UTC 09:52 · PVG 17:52 · LAX 01:52 · JFK 04:52
    Developed with CodeLauncher
    ♥ Do have faith in what you're doing.