简化如何调用PHP函数

如果该词包含在数组中,我有代码来替换该词。代码可以工作,但首先出现问题是它太长了,我无法重复代码(在页面中两次或更多次调用结果)。我想简化如何调用函数并且可以重复调用结果。这是我的代码:


$str = 'APPLE';

$fruits = array('APPLE', 'BANANA', 'AVOCADO');

$string = $str;

foreach ($fruits as $url) {

    if (strpos($string, $url) !== FALSE) {

        echo "FRUIT";

        return true;

    }

}


echo $string;return false;

对于该代码,我想仅使用$group. 谢谢大家...


FFIVE
浏览 168回答 2
2回答

眼眸繁星

这是我的答案,基于最后的 OP 评论:嗨,谢谢你的评论..,是的,我仍然是一个新手,当然缺乏 PHP 知识...... hehehe 对于我的情况 $str 是一个世界,所以它必须是 APPLE,而不是 APPLE PIE,是的,我想要一个完全匹配的...如果你有一堆水果并且知道针,那么你真正需要做的就是in_array():function checkFruit($search){    $fruits = ['APPLE', 'BANANA', 'AVOCADO'];    return (in_array($search, $fruits) ? 'FRUIT' : $search);}$str = 'APPLE';echo 'An apple is a '. checkFruit($str);$str = 'COW';echo 'A cow is a '. checkFruit($str);我们所做的只是检查传递的字符串是否在 $fruits 数组中,如果它是 return 'FRUIT'。您可以返回 bool 类型,但除非您在此过程中进行进一步检查,否则当您想要 FRUIT 时似乎有点无意义。

翻阅古今

第一件事您已定义$str为“APPLE”,然后定义$string为$str,为什么不直接定义$string为“APPLE”。第二件事您会想要使用函数,将代码存储为函数意味着您可以再次调用它而无需重新编写所有代码,请参见下面的示例:function FindFruit($find, $haystack) {    foreach($haystack as $k => $v) {        $result = (strpos($v, $find) !== false ? true : false);        if($result == true) return 'FRUIT';    }    return $find;}$fruits = array('APPLE', 'BANANA', 'AVOCADO');$string = 'APPLE';$result = FindFruit($string, $fruits);echo $result;
打开App,查看更多内容
随时随地看视频慕课网APP