PHP:不区分大小写的"array_diff"

Pra*_*ant 15 php arrays array-difference

我有以下两个数组和代码来查找array_diff:

$obs_ws = array("you", "your", "may", "me", "my", "etc");
$all_ws = array("LOVE", "World", "Your", "my", "etc", "CoDe");

$final_ws = array_diff($all_ws, $obs_ws);
Run Code Online (Sandbox Code Playgroud)

上面的代码给出了输出数组:

$final_ws = array("LOVE", "World", "Your", "CoDe");
Run Code Online (Sandbox Code Playgroud)

但我想要它:

$final_ws = array("LOVE", "World", "CoDe");
Run Code Online (Sandbox Code Playgroud)

注意"您的"未被删除,可能是由于"Y"在第二个数组中的大写.我也想排除"你的",所以array_diff在PHP中有任何不区分大小写的版本.

我试过array_udiff,但我没有准确地在我的问题中使用它

谢谢

Iva*_*uev 55

尝试将strcasecmp第三个参数传递给array_udiff函数:

<?php
$obs_ws = array("you", "your", "may", "me", "my", "etc");
$all_ws = array("LOVE", "World", "Your", "my", "etc", "CoDe");

$final_ws = array_udiff($all_ws, $obs_ws, 'strcasecmp');

print_r($final_ws);
Run Code Online (Sandbox Code Playgroud)

输出:

Array
(
    [0] => LOVE
    [1] => World
    [5] => CoDe
)
Run Code Online (Sandbox Code Playgroud)

  • 我相信你错过了一个逗号.;) (2认同)