gpt4 book ai didi

php - PHP 中的 SWITCH 语句问题

转载 作者:塔克拉玛干 更新时间:2023-11-03 06:06:28 25 4
gpt4 key购买 nike

这是我的示例代码:

<?php

$t = 0;

switch( $t )
{
case 'add':
echo 'add';
break;
default:
echo 'default';
break;
}

echo "<br/>";

echo system('php --version');

这是输出(在 codepad.org 上测试 - 结果相同):

add
PHP 5.3.6-13ubuntu3.6 with Suhosin-Patch (cli) (built: Feb 11 2012 03:26:01) Copyright (c) 1997-2011 The PHP Group Zend Engine v2.3.0, Copyright (c) 1998-2011 Zend Technologies Zend Engine v2.3.0, Copyright (c) 1998-2011 Zend Technologies

这里有什么问题吗?

最佳答案

您的变量 $t 的整数值为 0。使用 switch 语句,您告诉 PHP 首先将它与值 'add'(字符串)进行比较。 PHP does this by converting 'add' 到一个整数,并且由于 the rules of the conversion结果是 0

结果,第一个分支被采用——这可能令人惊讶,但也在意料之中。

如果你这样做,你会看到预期的行为

$t = "0";

现在,$t'add' 都是字符串,因此不会进行神奇的转换,当然它们比较不相等。

关于php - PHP 中的 SWITCH 语句问题,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/9567653/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com