Ich habe kürzlich an einem der Projekt-Euler-Problem-Sets gearbeitet und bin auf dieses seltsame Problem gestoßen. Ich habe das Problem mit der ersten Lösung richtig gelöst, aber ich weiß nicht, warum die andere Version nicht wie erwartet funktioniert. HierPHP sorting issue, arsort vs asort + array_reverse
ist der Code, der funktioniert:
asort($card_count, SORT_NUMERIC);
$card_count = array_reverse($card_count, true);
Und hier ist der Code, der nicht:
arsort($card_count, SORT_NUMERIC);
Dies ist die einzige Linie i ändern und es macht einen großen Unterschied am Ende Ergebnis. Irgendwelche Ideen, was ist damit?
Wie liest du das Array später - welche Indizes verwendest du? – ametren
Beide sind die gleichen für mich: http://codepad.org/80bWvlTv –
Es ist eine Poker-Lösung, so im Grunde ist es die Karte Wert in der Taste (wie '2' oder 'A' oder 'J ') Wie oft es in der Eingabe erschien, so könnte es so aussehen [' A '=> 2,' 8 '=> 2,' 4 '=> 1], um zwei Asse, zwei Achten und eine Vier darzustellen . Ich verlasse mich darauf, dass die höchsten Beträge vorne und die unteren Beträge hinten liegen sollten. Ich kann eine vollständige Code-Lösung bei Bedarf veröffentlichen, wollte nur nicht die Antwort geben, wie ich es gegen PE-Politik weiß. –