Mailinglisten-Archive |
Hallo Liste, ich habe ein Problem mit folgender Funktion. Hab schon eine ganze weile rumprobiert und konnte den Fehler auf eine Zeile beschränken. Die Funktion gibt statt der 100% in dem Beispiel 33% zurück. Ich vermute das in der Kommentierten Zeile nur ein Wert in das Array geschrieben wird. function search() { $func_array = func_get_args(); $search = $func_array[0]; $case = $func_array[1]; $logic = $func_array[2]; $search_strings = array_slice($func_array, 3); if($case != sensitive) { $search = strtolower($search); } if($logic == "and" or $logic == "or") { $search = explode(" ",$search); } else { $search = array($search); } for($x=0;$x<count($search_strings);$x++) { if($case != sensitive) { $search_strings[$x] = strtolower($search_strings[$x]); } $search_strings[$x] = explode(" ",$search_strings[$x]); } for($x=0;$x<count($search_strings);$x++) { for($z=0;$z<count($search);$z++) { $rele = "rele" .$z .$x; $$rele = array(); $rele_summe = "rele_summe" .$z; $$rele_summe = array(); for($y=0;$y<count($search_strings[$x]);$y++) { similar_text($search_strings[$x][$y], $search[$z], $similar); array_push($$rele, $similar); } array_push($$rele_summe, array_sum($$rele)/count($search_strings[$x])); // Wahrscheinlich wird hier nur der letzte Wert übernommen!? } } return array_sum($rele_summe0)/count($search_strings); } echo search("Test", "sensitive","exact", "Test", "Test", "Test"); Hat einer eine Idee dazu? Vielleicht bin ich auch nur schon blind vom Suchen ;) Gruss Daniel
php::bar PHP Wiki - Listenarchive