我今天早些時候正在做一些事情,並且我偶然發現了這個問題。你如何檢查某個數組值是否在該數組中是唯一的?PHP檢查數組值是否唯一
$array = array(1, 2, 3, 3, 4, 5);
if(unique_in_array($array, 1)) //true
if(unique_in_array($array, 3)) //false
我一直在思考如何使用array_search()或in_array(),但也不是尋找重複的非常有用的。我敢肯定,我可以寫一個函數這樣做:
function unique_in_array($arr, $search){
$found = 0;
foreach($arr as $val){
if($search == $val){
$found++;
}
}
if($found > 1){
return true;
} else {
return false;
}
}
或者另一種解決方案是使用array_count_values()這樣的:
$array_val_count = array_count_values($array);
if($array_val_count[$search] > 1){
return true;
} else {
return false;
}
但它似乎很奇怪,我認爲PHP沒有構建在功能(或至少更好的方式)做到這一點?
太棒了!這實際上是迄今爲止最優雅的解決方案! – icecub
有關示例,請參閱:https://3v4l.org/gdO1M – localheinz
謝謝。我會再等幾分鐘,但我認爲這是迄今爲止最好的解決方案。如果沒有更好的彈出,我會接受你的答案:) – icecub