Hallo,
ich arbeite zurzeit an einem Algorithmus, habe zwar keine technische Frage, sondern mir geht es viel mehr um den Aufbau und das Konzept.
Ich habe ein Array das so aussieht:
Der Benutzer hätte gerne eine männliche Person, welche aus Zürich, Schweiz kommt.
Wie mit dem Key
Person 1 (uid: 19): Zürich, Schweiz
Person 2 (uid: 3): Zürich, männlich
Die Werte des Schlüssels
Am Schluss wird folgendes ausgerechnet:
Alle Range-Values vom User zusammenzählen, dessen Wert dividieren durch Anzahl derselben uid.
Beispiel:
Person 1: 100 + 100 / 2 = 100
Person 2: 100 + 50 / 2 = 75
Der höchste Wert darf nur 100 sein und die Person mit dem höchsten Wert, gewinnt das Rennen. In diesem Fall wäre es die Person 1.
Was denkt ihr? Passt das so oder würdet ihr anders voran gehen?
ich arbeite zurzeit an einem Algorithmus, habe zwar keine technische Frage, sondern mir geht es viel mehr um den Aufbau und das Konzept.
Ich habe ein Array das so aussieht:
PHP:
array(3) {
[0]=>
array(2) {
[19]=>
array(3) {
["uid"]=>
int(19)
["range"]=>
int(100)
["value"]=>
string(6) "Zurich"
}
[3]=>
array(3) {
["uid"]=>
int(3)
["range"]=>
int(100)
["value"]=>
string(6) "zurich"
}
}
[1]=>
array(1) {
[19]=>
array(3) {
["uid"]=>
int(19)
["range"]=>
int(100)
["value"]=>
string(11) "Switzerland"
}
}
[2]=>
array(1) {
[3]=>
array(3) {
["uid"]=>
int(3)
["range"]=>
int(50)
["value"]=>
string(1) "m"
}
}
}
Der Benutzer hätte gerne eine männliche Person, welche aus Zürich, Schweiz kommt.
Wie mit dem Key
uid
zu erkennen ist, kommen zwei Personen infrage:Person 1 (uid: 19): Zürich, Schweiz
Person 2 (uid: 3): Zürich, männlich
Die Werte des Schlüssels
range
basieren auf mathematische Formeln. In diesem Beispiel habe ich es einfach gehalten. Wir haben also 100 für die Stadt und für das Land sowie 50 für das Geschlecht. Am Schluss wird folgendes ausgerechnet:
Alle Range-Values vom User zusammenzählen, dessen Wert dividieren durch Anzahl derselben uid.
Beispiel:
Person 1: 100 + 100 / 2 = 100
Person 2: 100 + 50 / 2 = 75
Der höchste Wert darf nur 100 sein und die Person mit dem höchsten Wert, gewinnt das Rennen. In diesem Fall wäre es die Person 1.
Was denkt ihr? Passt das so oder würdet ihr anders voran gehen?