Ich habe ein Array wie folgt aus:in PHP Arrays
array(0, 2, 4, 5, 6, 7, 90, 91, 92, 93, 94, 95, 96, 97, 98, 99);
und ich möchte es als eine der folgenden Zeichenkette erhalten:
0, 2, 4-7, 90+
Alle Beispiele da draußen, bevor ich anfange Haare aus meinem Kopf zu ziehen?
Danke.
UPDATE:
Hier ist die letzte Lösung, die ich nach dem @ Andy nehmen verwendeten Code, und es ein wenig zu verändern.
function rangeArrayToString($rangeArray, $max = 99) {
sort($rangeArray);
$first = $last = null;
$output = array();
foreach ($rangeArray as $item) {
if ($first === null) {
$first = $last = $item;
} else if ($last < $item - 1) {
$output[] = $first == $last ? $first : $first . '-' . $last;
$first = $last = $item;
} else {
$last = $item;
}
}
$finalAddition = $first;
if ($first != $last) {
if ($last == $max) {
$finalAddition .= '+';
} else {
$finalAddition .= '-' . $last;
}
}
$output[] = $finalAddition;
$output = implode(', ', $output);
return $output;
}
Erm ... Vielleicht sollten Sie versuchen, einige * Programmierung * zu verwenden, um das zu lösen? Ich versuche nicht, dich zu beleidigen, aber das ist eine einfache Aufgabe, wenn du dein Gehirn ein wenig verwendest. –
Ich verstehe wirklich nicht, wie es immer noch Leute gibt, die Kommentare kommentieren, wie Sie es gerade getan haben, auf Seiten, die für Benutzer gemacht wurden, um Fragen zu stellen. Wenn Sie denken, dass es ein Klacks ist, müssen Sie diese Frage nicht beantworten, aber mir zu sagen, dass ich es durch Programmierung versuchen kann, hilft überhaupt nicht. Ich sehe gerne Codebeispiele. Es bereichert meine Programmierpraktiken, indem ich mich nicht an Paradigmen halte. – Doron
Diese Seite ist für den Fall, dass Sie Probleme mit dem Code haben, nicht für den Fall, dass Sie die Codierung nicht selbst vornehmen möchten und es vorziehen würde, dass jemand anderes dies für Sie tut. Wenn du etwas gepostet hast, das du ausprobiert hast und nicht funktioniert hast, wäre es etwas völlig anderes. –