我如何压缩此 php 方法以使其代码更少,但仍可读且功能正常?您将在此代码中更改什么?
public function charCount($string, $max, $min) {
$stringCount = strlen($string);
if(isset($max) || isset($min)) {
//Testing Max Chars
if($stringCount > $max) {
return 'String length: ' . $stringCount . "<br />
Max Chars: " . $max . "<br />
Error: To Long";
}
else if($stringCount < $min) {
return 'String length: ' . $stringCount . "<br />
Min Chars: " . $max . "<br />
Error: To Short";
}
else {
return true;
}
}
else {
return true;
}
}
最佳答案
首先,我会在返回 bool 值或字符串之间做出选择,但不能同时返回两者,原因是要有一个同源接口(interface)。
然而 false
可以在出错的情况下使用。
我会去做这样的事情:
function charCount($string, $min = null, $max = null) {
$length = strlen($string);
$result = false;
if ($max && $length > $max) {
$result = sprintf('String length: <br />Max Chars: <br />Error: To Long', $length, $max);
}
if ($min && $length < $min) {
$result = sprintf('String length: <br />Min Chars: <br />Error: To Short', $length, $min);
}
return $result;
}
关于PHP字符序列校验函数,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/10539958/