检查PHP数组中的重复元素(如果不是空的)

Tru*_*ufa 2 php arrays if-statement unique

嗨,我可以说我有这个数组:

$check_post = array(

 $_POST["a_post"],
 $_POST["b_post"],
 $_POST["c_post"],
 $_POST["d_post"],
 $_POST["e_post"],
 $_POST["f_post"],
 $_POST["g_post"],
 $_POST["h_post"],
 $_POST["i_post"]

 );
Run Code Online (Sandbox Code Playgroud)

我想检查这个数组的任何元素是否重复,所以我得到的最好的是:

if (count(array_unique($check_post)) < count($check_post))  
    echo "Duplicate";  
else  
    echo "NO Duplicate";
Run Code Online (Sandbox Code Playgroud)

哪个工作正常,除了这个事实,如果多一个textarea留空(允许)它给我假.

我想要的是不要考虑数组的空值 (count(array_unique())

BTW我已经试过empty()array_values($check_post)但我不能绕过它.

提前致谢!!请询问任何必要的澄清.

And*_*eKR 8

要从比较中删除所有空值,您可以添加array_diff():

if (count(array_unique(array_diff($check_post,array("")))) < count(array_diff($check_post,array(""))))  
Run Code Online (Sandbox Code Playgroud)

  • @jon我认为OP希望完全忽略空键 (2认同)