加入收藏 | 设为首页 | 会员中心 | 我要投稿 安卓应用网 (https://www.0791zz.com/)- 科技、建站、经验、云计算、5G、大数据,站长网!
当前位置: 首页 > 编程开发 > PHP > 正文

php – 使用案例的变量和交换机的函数?

发布时间:2020-05-25 08:42:35 所属栏目:PHP 来源:互联网
导读:在 PHP中,我想这样做: switch (function_foo($bar,$bar2)) {case $fu: *Do Stuff* break;case $fubar: *Do Other Stuff* break;} 这是一个糟糕的主意吗?它会起作用吗? 在交换机中使用一个函数就可以了:将调用该函数,并返回一个值 – 这是一个将用于案例的

在 PHP中,我想这样做:

switch (function_foo($bar,$bar2)) {
case $fu:
    *Do Stuff*
    break;
case $fubar:
    *Do Other Stuff*
    break;
}

这是一个糟糕的主意吗?它会起作用吗?

在交换机中使用一个函数就可以了:将调用该函数,并返回一个值 – 这是一个将用于案例的值.

它和写作完全一样:

$my_var = function_foo($bar,$bar2);
switch ($my_var) {
    // ...
}

即使我更喜欢使用变量,所以代码更容易阅读.

在案例中使用变量是您经常看不到的;但它也可以正常工作;-)

引用the manual page of switch

The case expression may be any
expression that evaluates to a simple
type,that is,integer or
floating-point numbers and strings.

因此,只要$fu和$fubar包含简单类型的值,您的代码就可以工作.

使用变量作为不常用的案例值(据我所知,从我读过的代码中可以看出),可能是因为其他一些语言不允许这样做(例如,C不允许这样做;以及交换机/案例结构是从C)借来的;但它有效:

$a = 1;
$b = 2;
switch (1) {
    case $a: echo 'a'; break;
    case $b: echo 'b'; break;
}

将输出:

a

(编辑:安卓应用网)

【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容!

    推荐文章
      热点阅读