带有strpos的php数组_udiff函数

带有strpos的php数组_udiff函数,php,Php,我使用这段代码来比较两个数组 <?php function myfunction($v1,$v2){ if ($v1===$v2){ return 0; } return 1; } $a1 = array("a"=>"Cat", "b"=>"Dog", "c"=>"Horse"); $a2 = array(1=>"Cat", 2=>"Dog", 3=>"Fish"); print_r(array_udiff($

我使用这段代码来比较两个数组

<?php
function myfunction($v1,$v2){
    if ($v1===$v2){
        return 0;
    }
    return 1;
}

$a1 = array("a"=>"Cat", "b"=>"Dog", "c"=>"Horse");
$a2 = array(1=>"Cat", 2=>"Dog", 3=>"Fish");

print_r(array_udiff($a1,$a2,"myfunction"));
?>

该函数适用于这些数组。但是我想使用php strops函数而不是
==
操作符来比较两个值,即
if(strops($v1,$v2)===true)
。我试过了,但没用。任何帮助。 提前感谢。

您可以尝试(注意,我使用
stripos
在字符串中查找不区分大小写的子字符串)

输出

 Array ( [c] => Horse )

因为你用的是蛋糕1.3。您可以使用diff(),它是一个核心实用程序,非常方便。该手册页上还有其他数组函数

$result = Set::diff($a1, $a2);
print_r($result);

strpos
用于字符串,而不是数组。您将哪些变量传递给
myfunction
?@crowjonah:
myfunction
是通过
array\u udiff
调用的。从不返回
TRUE
。它返回字符串中索引的整数,如果未找到,则返回
FALSE
$result = Set::diff($a1, $a2);
print_r($result);