阅读量:0
是的,您可以自定义 PHP in_array
函数的比较规则。默认情况下,in_array
函数使用严格相等(===
)比较两个值。要自定义比较规则,您可以提供一个回调函数作为第二个参数。
以下是一个示例,展示了如何自定义 in_array
的比较规则,使其不区分大小写:
function caseInsensitiveInArray($value, $array) { foreach ($array as $item) { if (strtolower($item) === strtolower($value)) { return true; } } return false; } $array = ['Apple', 'banana', 'Orange']; $value = 'apple'; if (caseInsensitiveInArray($value, $array)) { echo $value . ' found in the array.'; } else { echo $value . ' not found in the array.'; }
在这个示例中,我们创建了一个名为 caseInsensitiveInArray
的自定义函数,它接受一个值和一个数组作为参数。然后,我们使用 strtolower
函数将数组中的每个元素和值转换为小写,以便在不区分大小写的情况下进行比较。如果找到匹配项,函数返回 true
,否则返回 false
。
您可以根据需要修改此回调函数以实现自定义的比较规则。