php重复提示语句,php – 在switch语句中重复代码

博客讨论了如何在PHP和C中优化代码结构,特别是涉及嵌套开关语句的情况。提出了使用可变函数和函数指针来减少代码冗余和提高性能。在PHP中,通过变量函数实现功能调用的动态映射;在C中,利用函数指针达到类似的效果。此外,还提供了一个在线测试平台供读者验证解决方案。
摘要由CSDN通过智能技术生成

嵌套开关是一个选项……

这使用两个开关,但第二个没有在默认情况下触发,因此比两个内嵌开关具有稍好的性能配置文件.

switch($x) {

case a: case b: case c:

executeSth();

switch($x) {

case a:

executeA();

break;

case b:

executeB();

break;

case c:

executeC();

break;

}

break;

default:

...

}

或者,可变函数可以完成工作……

这是一个可以使用的PHP选项,尽管很多人不喜欢变量函数.如果你想完全删除嵌套和放大,这可能是最好的选择.重复.

switch($x) {

case a:

$function = "executeA";

break;

case b:

$function = "executeB";

break;

case c:

$function = "executeC";

break;

default:

...

}

if(isset($function)) {

executeSth();

$function();

}

我还做了一点live test bed here,如果有人想在发布之前测试他们的PHP解决方案工作(情况10应该是executeSth()和executeA(),情况20应该是executeSth()和executeB(),默认应该是executeDefault()) .

在C中,您可以使用函数指针实现与上面相同的操作

当我写这篇文章的时候,我有一个完全的大脑放屁,谢天谢地提醒我,我们可以使用一个简单的函数指针来做到这一点.

// Declare function pointer

int (*functionCall)() = NULL;

// In switch statement, assign something to it

functionCall = &execute;

// After the switch statement, call it

int result = (*functionCall)();

注意:我出去所以没有检查这些语法.我使用的语法是C语法,可能需要一些小的更改才能在C中工​​作.

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值