Hi,
ich habe schon länger die Suchfunktionen genutzt aber nicht gefunden was mit weiterhelfen konnte.
Und zwar versuche ich diverse Werte in einer DB zu vergleich.
z.b
$DB_Arr = array(13,14,16,19,17,10,8,12); // ist hier nun mal statisch, an sich kenne ich die Größe nicht, da sie sich ständig ändert.
$differenzsumme = 30; // Dieser Wert muss gefunden werden, mehrfachergebnisse sind erlaubt.
So nun müsste ich nicht nur einen 1 zu 1 vergleich haben, sondern einen 1 - n vergleich.
Erweitertertes Bsp:
$tmp = $DB_arr[0]+ $DB_arr[4];
Nun weißt $tmp, den DifferenzWert auf, also sollen die Indizes, gespeichert werden.
Der Vorgang aber noch weiterlaufen.
Da
$tmp = $DB_arr[5]+ $DB_arr[6]+ $DB_arr[7];
auch den Differenzwert aufweisen.
Daher halt bei diesen Kombinationsmöglichkeiten die Passenden Indizies, in ein Array durch "|" oder so getrennt packen.
Nur da verzweifel ich vollkommen, also den 1 zu 1 vergleich geht, aber die 1-n Beziehungen, da komm ich nicht weiter.
Mein Bisheriger Code
Ich wäre für Hilfe, Anregungen, Kritik ja auch für Lob , dankbar
ich habe schon länger die Suchfunktionen genutzt aber nicht gefunden was mit weiterhelfen konnte.
Und zwar versuche ich diverse Werte in einer DB zu vergleich.
z.b
$DB_Arr = array(13,14,16,19,17,10,8,12); // ist hier nun mal statisch, an sich kenne ich die Größe nicht, da sie sich ständig ändert.
$differenzsumme = 30; // Dieser Wert muss gefunden werden, mehrfachergebnisse sind erlaubt.
So nun müsste ich nicht nur einen 1 zu 1 vergleich haben, sondern einen 1 - n vergleich.
Erweitertertes Bsp:
$tmp = $DB_arr[0]+ $DB_arr[4];
Nun weißt $tmp, den DifferenzWert auf, also sollen die Indizes, gespeichert werden.
Der Vorgang aber noch weiterlaufen.
Da
$tmp = $DB_arr[5]+ $DB_arr[6]+ $DB_arr[7];
auch den Differenzwert aufweisen.
Daher halt bei diesen Kombinationsmöglichkeiten die Passenden Indizies, in ein Array durch "|" oder so getrennt packen.
Nur da verzweifel ich vollkommen, also den 1 zu 1 vergleich geht, aber die 1-n Beziehungen, da komm ich nicht weiter.
Mein Bisheriger Code
PHP:
$aktu_arr_pos = 0;
for($i=count($eintraege)-1;$i>0;$i--){
$tmpWert=0;
for($p=0;$p<count(${"arr".$i})-1;$p++){
$tmpCur[$i] = $eintraege[$i]+$eintraege[$p];
$testArr[$p] = $tmpCur[$i];
if( $tmpCur[$i]==$differenz){
$msg = "<font color='red'>Doppelt</font><br>";
if(!in_array("|".$p."|".$i."|",$ergebnisse) && !in_array("|".$i."|".$p."|",$ergebnisse)){
$ergebnisse[$aktu_arr_pos]="|".$i."|".$p."|";
$msg = "<font color='red'>Passt</font><br>";
$aktu_arr_pos++;
}
echo $msg;
}
}
}