Festellen, wie oft Einträge doppelt sind?
Philip
- php
Hi @ all
ich habe folgenden PHP Code:
$toplist_temp = my_array_unique($url_temp);
$z = count ($toplist_temp);
for ($i=0; $i < $z; $i++) {
for ($a=0; $a < $C; $a++) {
if ($toplist_temp[$i] = $url_temp[$a]) { $h[$i] = $h[$i] + 1; }
}};
Damit möchte ich die Varible h (bzw das Array) immer ums ein aufaddieren, wenn in dem Array url_temp ein eintrag der toplist_temp arrays gefunden wird. In toplist_temp sind alle Einträge verschieden, sprich nur einmal. IN dem url_temp Array sind einträge doppelt, und ich möchte nun feststellen, wie oft sie doppelt sind...
ich weiß nciht, ob der Ansatz richtig ist.. Es funktioniert zumindest nciht :-(
philipp
Hallo philipp,
als erstes mal ein Tipp: keine Variablen wie a, h, z und C verwenden. Das i ist ok und wird allgemein als Laufvariable verwednet (statt a wäre dann aber j üblich).
Dein Fehler ist ein = statt einem == beim Vergleich (also im if).
Ich würde das Ganze ungefähr so schreiben:
$toplist_temp = my_array_unique($url_temp);
$toplistcount = count($toplist_temp);
$urlcount = count($url_temp);
for ($i=0; $i < $urlcount; $i++) {
for ($j=0; $j < $toplistcount; $j++) {
if ($url_temp[i$] == $toplist_temp[j$]) {
//$h sollte halt auch anders heissen
$h[$j]++;
}
}
}
Code wurde nicht getestet. Kann also kleine Fehler enthalten. Ist so aber finde ich etwas lesbarer.
Ciao
Thomas