我希望我的程序忽略重复项, 我使用过array_unique,但我仍然看到重复 我不知道自己做错了什么。 所以我从文本区域获取电话号码然后将它们发送到我的PHP 任何帮助将不胜感激 这是我尝试过的。
<script type="text/javascript">
// click and drop code
$(document).ready(function(){
$("ul li").click(function(event) {
var eid = $(this).attr('id');
$(".text").val($(".text").val() +"\n" + eid);
});
});
//parents_idcelldrag
</script>
<form action="index.php" method="post">
<textarea class="text" name = "cellnumbers" readonly></textarea>
</form>
<?php
// I get this
$cellnumbers=(isset($_POST['cellnumbers']))? trim($_POST['cellnumbers']): '';
$ids = explode("\n", $cellnumbers);
$cleaned = array_unique($ids);
foreach($cleaned as $key){
$final_cell .= $key.',';
}
$final_cell= substr($final_cell,0,-1);
echo $final_cell;
?>
答案 0 :(得分:1)
如果$ids
具有尾随空格,则可能是这种情况。尝试在array_unique
之前修剪值:
$ids = explode("\n", $cellnumbers);
$ids = array_map('trim', $ids);
$cleaned = array_unique($ids);
答案 1 :(得分:1)
一个例子在这里可以帮助你实现你想要的另一种方式:
<?php
$ids = explode("\n", $cellnumbers);
// create an array with the values as the keys and their frequencies as the value
$values_count = array_count_values($ids);
$cleaned = array_keys($values_count);
// glue together the values
$final_cell = implode(',', $cleaned);
// echo the cleaned result
echo $final_cell;
?>