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