我有以下功能
function blah($string) {
$match = array('red', 'green', 'blue');
$replace = array('1', '1,', '0');
return str_replace($match, $replace $string);
}
我要做的是,如果输入不在匹配数组中,则返回0.
由于这只在后端使用一次/天,性能不是最大的问题,但由于我还在学习PHP,我想了解这样做的正确方法。
非常感谢任何帮助!提前谢谢!
答案 0 :(得分:5)
我建议使用PHP的内置in_array()
函数,而不是编写自己的函数。
答案 1 :(得分:0)
怎么样:
function blah($string) {
$matches = array('red', 'green');
return in_array($string, $matches);
}
我可能会添加的另一件事是你应该避免使用像str_replace
这样的函数(一眼就会意味着替换字符串)来测试存在的东西,因为它可能会混淆其他程序员(或你自己)在阅读代码时。
答案 2 :(得分:0)
我最终使用了以下代码:
function approved($input) {
$match = array('red','green','blue');
if(in_array(strtolower($input), $match)) {
return 1;
} else {
return 0;
}
}