我必须根据两个变量($x
和$y
)采取行动。以下内容满足了这些需求,但不是非常易读,$x/$y
的{{1}}与1/4
的{{1}}做同样的事情并不是很明显。从可读性和可维护性的角度来看,对此进行编码的最佳方法是什么?虽然我特别要求PHP解决方案,但希望解决方案可以扩展到其他语言,例如JavaScript。
$x/$y
答案 0 :(得分:1)
如果您创建了一个数组来映射它,它将像这样工作:
$task_x = [
1 => [1 => 1, 2 => 1, 3 => 2, 4 => 2, 'd' => 3],
2 => [1 => 1, 2 => 1, 3 => 2, 4 => 2, 'd' => 3],
3 => [1 => 1, 2 => 1, 3 => 2, 4 => 2, 'd' => 3],
4 => [1 => 4, 2 => 4, 3 => 2, 4 => 4, 'd' => 2],
5 => [1 => 4, 2 => 4, 3 => 2, 4 => 4, 'd' => 2],
'd' => [1 => 6, 2 => 2, 3 => 2, 4 => 2, 'd' => 3]
];
// PHP 7
$task_y = $task_x[$x] ?? $task_x['d'];
$task_n = $task_y[$y] ?? $task_y['d'];
// or PHP 5
//$task_y = isset($task_x[$x]) ? $task_x[$x] : $task_x['d'];
//$task_n = isset($task_y[$y]) ? $task_y[$y] : $task_y['d'];
doTask($task_n);