php什么是阵列,php – 功能阵列的替代方法?
我正在編程一個應用程序(php),它需要很長一段類似但不同的功能,這些功能正在被一組鍵所調用:
$functions = [
"do this" => function() {
// does this
},
"do that" => function() {
// does that
}
]
etc.
我已經選擇將類似的函數放在一個數組中,因為它們不夠相似 – 用一個充滿條件語句的大函數獲得相同的結果不會起作用.而且我只需要通過鍵來調用它們,例如:
$program = ["do this", "do that", "do this"];
foreach ($program as $k => $v) {
$functions[$v]();
}
這是這個函數數組結構引起了許多問題,例如我在另外一個數組函數中很難從一個數組函數調用.這不行:
"do that" => function() {
$functions["do this"]();
}
也不是:
"do that" => function() {
global $functions;
$functions["do this"]();
}
或這個:
"do that" => function($functions) {
$functions["do this"]();
}
$functions["do that"]($functions);
我想我可以有一個巨大的功能與一個長的switch語句:
function similar_functions($key) {
switch ($key) {
case "do this":
// does this
break;
case "do that":
// does that
break;
}
}
但這不是很好的做法.或者也許是
那么我的替代品是什么?我應該用開關結構去嗎?還是還有另一個更好的解決方案?
總結
以上是生活随笔為你收集整理的php什么是阵列,php – 功能阵列的替代方法?的全部內容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: 小米系统固件怎么删除(小米官方售后服务)
- 下一篇: php代码执行相关函数,关于当前PHP脚