【问题标题】:How does Casting work in PHP?铸造如何在 PHP 中工作?
【发布时间】:2009-12-07 13:39:15
【问题描述】:

这不起作用:

(int)08 == (int)09==0

但是这个和这个呢?

(int)07==7 
(int)06==6 

【问题讨论】:

  • 我实际上会尝试让您的问题更具话题性,然后将您的示例放在问题中......
  • 我尝试过。

标签: php casting integer octal


【解决方案1】:

08 是八进制的(因为它以 0 开头),因此它是无效的。 See the documentation.

【讨论】:

    【解决方案2】:

    因为0809 不是有效的八进制数。 see warning in docs.

    【讨论】:

      【解决方案3】:

      您正在输入一个无效的八进制数。

      【讨论】:

        【解决方案4】:
        // Syntax error
        //(int)08 == (int)09==0
        
        // This works
        (int)08==0;
        (int)09==0;
        
        // This also works
        (int)08 == ((int)09==0);
        

        【讨论】:

          【解决方案5】:

          您正在使用 (int) 进行显式类型转换

          更好地使用intval().

          【讨论】:

            【解决方案6】:

            要使用十六进制表示法,在数字前加上 0x。

            因此,

             $num = (int)0x9
             $num == 9
            

            【讨论】:

              猜你喜欢
              • 1970-01-01
              • 1970-01-01
              • 1970-01-01
              • 1970-01-01
              • 1970-01-01
              • 2018-01-10
              • 1970-01-01
              • 1970-01-01
              • 2023-04-04
              相关资源
              最近更新 更多