因为php的弱语言特性,因此当字符串与整数使用+号运算符的时候,字符串会被转换为整数,具体转换规则如下:

一.如果字符串以数字开头并且与字母或者符号进行搭配,那么会舍弃掉字母或者符号部分直接转换为开头的数字, 例如"123abc"转换得到123

二.如果是字符串开头加数字,那么字符串转换为整型得到的是0, 例如abc123转换得到0

三.如果是数字0开头或者以数字0开头和字母或符号搭配的字符串,那么被转换为整型的时候开头的数字0会被舍弃掉, 例如0123abc转换得到123

示例:

  1. <?php
    $val = "123abc123";
    $val2 = 123;
    echo $val + $val2; // 123 + 123
    ?>

    输出246

  2. <?php
    $val = "abc123";
    $val2 = 123;
    echo $val + $val2; // 0 + 123
    ?>

    输出123

  3. <?php
    $val = "0123abc";
    $val2 = 123;
    echo $val + $val2; // 123 + 123
    ?>

    输出246

happy coding!