如何在PHP中使用整数0开关?

rubo77

将整数0作为切换参数将采用第一个结果“ foo”:

$data=0; // $data is usually coming from somewhere else, set to 0 here to show the problem
switch ($data) :
    case "anything":
        echo "foo";
        break;
    case 0:
        echo "zero";
        break;
    default: 
        echo "bar";
endswitch;

如何更改此设置,以便交换机将按预期写入“零”?

萨尔曼A

switch / case语句使用松散比较,无论0 == "anything"是否喜欢,它都是true

比较运算符

[...]如果您将数字与字符串进行比较,或者比较涉及数字字符串,则每个字符串都将转换为数字,然后进行数字比较。这些规则也适用于switch语句。[...]

var_dump(0 == "a"); // 0 == 0 -> true

一种解决方案是将所有case语句更改为字符串,并进行字符串比较:

$data = 0;
switch ((string) $data): ## <- changed this
    case "anything":
        echo "foo";
        break;
    case "0":            ## <- and this
        echo "zero";
        break;
    default: 
        echo "bar";
endswitch;

本文收集自互联网,转载请注明来源。

如有侵权,请联系[email protected] 删除。

编辑于
0

我来说两句

0条评论
登录后参与评论

相关文章

来自分类Dev

如何在PHP中使用拨动开关

来自分类Dev

如何在开关与整数使用中使用枚举

来自分类Dev

如何在PHP中使用带有整数0的switch?

来自分类Dev

如何在TensorFlow中使用“ FLAGS”(命令行开关)?

来自分类Dev

如何在开关案例中使用枚举类

来自分类Dev

如何在jQuery中使用开关盒(数字范围)?

来自分类Dev

如何在Android Actionbar中使用开关盒?

来自分类Dev

如何在for循环中使用开关盒?

来自分类Dev

Ruby-如何在ruby命令行工具中使用-r开关

来自分类Dev

如何在C ++中的开关中使用布尔表达式

来自分类Dev

如何在开关正则表达式中使用变量

来自分类Dev

如何在Swift 3中使用UITextFields创建开关表达式

来自分类Dev

iOS - 如何在开关中使用多个键填充 NSMutableDictionary

来自分类Dev

如何在iOS中将开关状态转换为整数

来自分类Dev

如何在Java中使用JSONObject设置整数值?

来自分类Dev

如何在Cython中使用128位整数

来自分类Dev

如何在MySQL DB中使用UUID代替整数

来自分类Dev

WebGL:如何在GLSL中使用整数属性

来自分类Dev

如何在bash中使用if测试非整数

来自分类Dev

如何在查询中使用整数作为rand值的变量?

来自分类Dev

如何在整数中使用json_query

来自分类Dev

如何在Julia中使用零填充的整数格式?

来自分类Dev

如何在MySQL DB中使用UUID而不是整数

来自分类Dev

如何在exec sp_executesql中使用数字整数

来自分类Dev

JAVA如何在本练习中使用compareTo比较整数

来自分类Dev

如何在C中使用sscanf分隔整数值?

来自分类Dev

如何在OpenMDAO中使用整数参数进行优化

来自分类Dev

如何在DEoptim(R)中使用“ fnmap”设置整数约束

来自分类Dev

如何在等式中使用多个整数(Ruby)

Related 相关文章

热门标签

归档