2016-08-29 3 views
1

Ich habe Schüler für Prüfer Sprachniveau
Beispiel:
(8,8,9,8,7) Wiederholen Zahl "8" Get "8"
(7,7,8, 9,10) Wiederholungszahl "7" Erhalten "7"
(7,8,9,10,9) nein Wiederholungsnummer Holen Sie sich die letzte "9"
(7,7,8,8,9) vergessen Sie "7 "> Get Last Repeat-Nummer "8"
(7,7,8,9,9) vergessen "7"> Get Last Repeat-Nummer "9"
php Zahl vergleichen Array

CODE hier

//get duplicate function getArrayDups($array) { $counts = array_count_values($array); return array_filter( $counts, create_function( '$val', 'return($val > 1);' ) ); }

// usage test: 
$test = array('8','8','7','7','7'); 
$result = getArrayDups($test); 
    if(count($result)) 
    { 
     echo "<p>You had one or more duplicate entries:</p>\n<ul>\n"; 
    foreach($result as $entry => $count) 
    { 
    if ($count >= 3){ 
    echo "<li> Get Level is $entry ($count)</li>"; 
    break; 
    } 
echo "<li> Level is $entry ($count)</li>"; 
} 
} 
    else 
    { 
    //echo end($test); 
    echo "<li>No duplicates Level found. last Level." . end($test) . "</li>"; 
    } 

Ich fragte mich, ob jemand andere Ideen hatte, wie ich das erreichen könnte.

+0

See [array_count_values] (http://php.net/manual/en/function.array-count-values.php) –

+0

Ihre '$ str [$ i]' auf '10' scheitern . Es erhält auch Kommas als Zahlen. Sie müssen es zuerst "explodieren". –

+0

Dieser Code ich werde –

Antwort

1

wenn (8,8,9,8,7) ein String ist, dass Sie es in ein Array umwandeln kann explode und die Verwendung mit array_count_values, wenn Ihre Daten bereits ein Array (wie $arr = [8,8,9,8,7]) direkt array_count_values

So würden Sie etwas tun verwenden könnte wie :

<?php 
    $str = '8,8,9,8,7'; 
    $arr = explode(',', $str); 
    $arrCount = array_count_values($arr); 
    $temp= false; 
    for($i=count($arr)-1;$i> 0;$i--) { 
     if($arrCount[$arr[$i]] > 1) { 
      echo "last repeat is: ".$arr[$i]; 
      $temp = true; 
      break; 
     } 
    } 
    if(!$temp) 
     echo "no repeat found"; 

?> 
+0

mein Datum von SQL-Abfrage neu schreiben, wie folgt: SELECT set1, set2, set3, set4, set5 FROM-Ebene, wo test_id = '$ test_id ", set1 set2 ..... = 8, 8, 9 , 8, 7 –

Verwandte Themen