In PHP, 0 (int, zero) is equal to “first” or “last” (strings)?

前端 未结 4 742
猫巷女王i
猫巷女王i 2021-01-21 07:43

I\'m confused by something I just ran into in a script I was working on. I had the following:

function getPart($part)
{
    $array = array(\'a\', \'b\', \'c\');         


        
4条回答
  •  北恋
    北恋 (楼主)
    2021-01-21 08:09

    If you try to compare a string to a number, PHP will try to convert the string to a number. In this case, it fails to do so, since PHP can't convert "first" or "last" into a number, so it simply converts it to zero. This makes the check 0 == 0, which is, of course, true. Use the identity operator, ===, if you want PHP to not attempt to convert anything (so, the two operands must have the same value and be of the same type).

提交回复
热议问题