【发布时间】:2012-10-08 09:00:25
【问题描述】:
我有一个函数可以设置搜索查询中歌曲所在的键。它来自c..b 或0..11,如果给定的“密钥”超出允许范围,它就会恢复到NULL。我是否应该抛出异常,而不是警告提供的 $key 超出允许范围?
代码如下:
<?php
function between($x, $y, $z) {
return (($x <= $y) && ($y <= $z));
}
function setKey($key) {
if (is_string($key)) {
$key = array_search(strtolower($key), array("c", "c-sharp", "d", "e-flat", "e", "f", "f-sharp", "g", "a-flat", "a", "b-flat", "b"));
} else {
$key = (!between(0, $key, 11)) ? false : $key;
}
return (!$key) ? null : $key;
}
var_dump(setKey("g"))."\n";
var_dump(setKey("r"))."\n";
var_dump(setKey(2))."\n";
var_dump(setKey(12))."\n";
输出:
int(7)
NULL
int(2)
NULL
【问题讨论】:
-
在这里发布函数而不是链接到场外怎么样?
标签: php error-handling user-input validation