2016-11-28 2 views
-2

Ich möchte mein Programm zu ignorieren Duplikate, Ich habe array_unique verwendet, aber ich sehe immer noch Duplikate Ich frage mich, was falsch mache. So bekomme ich die Telefonnummern aus dem Textbereich, dann sende ich sie in mein PHP Jede Hilfe wird geschätzt hier ist, was ich versucht habe.Wie kann ich Duplikate aus einem Array ignorieren

<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; 
    ?> 
+12

können Sie einige Beispieldaten für '$ cellnumbers' geben Sie bitte? –

+0

Wenn Sie uns nicht zeigen, was die Variable $ cellnumbers enthält, ist diese Frage nicht lösbar. Dieser Code sollte mit einer normalen Variablen '$ cellnumbers' arbeiten. – Loko

+2

Humphrey, deine Bearbeitung hilft nicht viel. Der Inhalt von '$ _POST ['cellnumbers']' hängt von der Dateneingabe in das Formular ab, die nicht angegeben wird. Was enthält '$ _POST ['cellnumbers']' _contain_? – Chris

Antwort

1

Es kann der Fall sein, wenn $ids nachfolgenden Leerzeichen haben. Versuchen Sie Werte zu trimmen, bevor array_unique tun:

$ids = explode("\n", $cellnumbers); 
$ids = array_map('trim', $ids); 
$cleaned = array_unique($ids); 
+4

Dies ist vollständige Spekulation. – Chris

+0

Wie hast du das herausgefunden, Sir, bin so stolz auf dich. Wir brauchen wirklich Menschen wie dich auf dieser Welt. Einige Leute, wenn sie nicht antworten, sie nur Fragen abstimmen, aber Sie völlig anders und Sie haben es richtig. – humphrey

+1

@humphrey Es ist nur Übung, Sir. Ich sah ähnliche Probleme ziemlich oft. Ich bin froh, dass meine Antwort nützlich war. – krlv

1

Ein Beispiel wäre hier wirklich helfen, wenn eine andere Art und Weise zu tun, was Sie wollen:

<?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; 
?> 
Verwandte Themen