能否自定义php inarray的比较规则

avatar
作者
猴君
阅读量: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

您可以根据需要修改此回调函数以实现自定义的比较规则。

广告一刻

为您即时展示最新活动产品广告消息,让您随时掌握产品活动新动态!