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