使用 str_replace 测试数组中是否存在

发布于 2024-12-08 12:07:32 字数 318 浏览 0 评论 0原文

我有以下函数

function blah($string) {
    $match = array('red', 'green', 'blue');
    $replace = array('1', '1,', '0');
    return str_replace($match, $replace $string);
}

我想做的是,如果输入不在匹配数组中,则返回 0。

由于这仅在后端每天使用一次,所以性能不是最大的问题,但因为我我仍在学习 PHP,我想了解执行此操作的正确方法。

非常感谢任何帮助!提前致谢!

I have the following function

function blah($string) {
    $match = array('red', 'green', 'blue');
    $replace = array('1', '1,', '0');
    return str_replace($match, $replace $string);
}

What I'm trying to do is, if the input is not in the match array, return 0.

Since this is only used on the back end once/day, performance isn't the biggest issue but since i'm still learning PHP, I'd like to understand the proper way of doing this.

Any help is really appreciated! Thanks in advance!

如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。

扫码二维码加入Web技术交流群

发布评论

需要 登录 才能够评论, 你可以免费 注册 一个本站的账号。

评论(3

杀手六號 2024-12-15 12:07:32

我建议使用 PHP 的内置 in_array() 函数而不是编写您自己的函数。

I suggest using PHP's built-in in_array() function instead of writing your own.

青巷忧颜 2024-12-15 12:07:32

怎么样:

function blah($string) {
    $matches = array('red', 'green');        
    return in_array($string, $matches);
}

我可能要补充的另一件事是,您应该避免使用像 str_replace 这样的函数(乍一看,这意味着替换字符串)来测试是否存在,因为它可能会让其他程序员感到困惑(或你自己)在阅读代码时。

How about:

function blah($string) {
    $matches = array('red', 'green');        
    return in_array($string, $matches);
}

Another thing I might add is that you should avoid using a function like str_replace (which, at a glance, would mean replacing strings) for something that is testing existence as it might confuse other programmers (or yourself) when reading the code.

阿楠 2024-12-15 12:07:32

我最终使用了以下代码:

function approved($input) {
$match = array('red','green','blue');
if(in_array(strtolower($input), $match)) {
   return 1;
} else {
    return 0;
}
}

I ended up using the following code:

function approved($input) {
$match = array('red','green','blue');
if(in_array(strtolower($input), $match)) {
   return 1;
} else {
    return 0;
}
}
~没有更多了~
我们使用 Cookies 和其他技术来定制您的体验包括您的登录状态等。通过阅读我们的 隐私政策 了解更多相关信息。 单击 接受 或继续使用网站,即表示您同意使用 Cookies 和您的相关数据。
原文