我使用添加运行以下PHP代码?

时间:2015-06-18 18:19:18

标签: php

  1. 这是代码:

        <?php
        $a = "4 fox and 3 cows"; // it is simple string
        $b = 22;
        echo $ab = $a + $b;
        echo "output::".$ab;
        ?>'
    

    输出:    只读取第一个索引    26    这背后的逻辑是什么?    相反,我应该得到一个错误..

  2. 2.另一个例子:

         <?php
            $a = "four fox and 3 cows"; // it is simple string
            $b = 22;
            echo $ab = $a + $b;
            echo "output::".$ab;
            ?>'
       output:
       22
       what is the logic behind this..?
    

4 个答案:

答案 0 :(得分:4)

你应该研究Type Juggling,php是否能最好地适应动态转换类型转换的能力,使用php中的+运算符意味着2个数字是否为整数,小数等等。

由于字符串不具有整数值,因此当您使用+运算符时,它将使用可构成有效整数的字符串的第一部分。

由于你的例子以<ul class="nav nav-pills sort-source" data-sort-id="portfolio" data-option-key="filter"> <li data-option-value="*" class="active"> <a href="#" ng-click="getAllRequests(1)">Toon alle</a> </li> @foreach ($Categories as $categorie) <li data-option-value=".{{$categorie->nameN}}" class=""> <a href="#" ng-click="getRequests({{$categorie->id}})" data-id="{{$categorie->id}}">{{$categorie->nameN}} </a> </li> @endforeach </ul> 开头,它会截断其他所有内容并将4变成一个整数,使其为4 + 22,即26。

答案 1 :(得分:0)

使用。运算符以连接字符串。

+运算符会将字符串转换为数字并添加它们

答案 2 :(得分:0)

如果你想用字符串连接数字,php中的运算符是.,而不是+

否则,为什么要添加带字符串的数字?你期望得到什么结果?在这些情况下,似乎php将字符串解析为int,忽略了它可以理解的数字之后的所有内容。

答案 3 :(得分:0)

+只需将您的字符串转换为int,即可删除未知数字的所有内容。

"4 fox and 3 cows"

^^&GT;       一切都被剥夺,因为fox and 3 cows无法处理数字,php从左到右读取数字,一旦遇到奇怪的东西,它就会停止。