Sie benötigen eine eigene Vergleichsfunktion zu erstellen und geben es mit Array zur Verwendung der PHP-Funktion. Bsp .:
<?php
function lengthBaseSort($first, $second) {
return strlen($first) > strlen($second) ? -1 : 1;
}
$text = 'one four eleven no upstairs';
$arr = explode(" ", $text);
usort($arr, 'lengthBaseSort');
var_dump(array_slice($arr, 0, 3));
Es wird Ausgang 3 längste Wörter aus Ihrer Aussage.
Nach Autor ändert:
Wenn Sie keine Möglichkeit haben, aus irgendwelchen Gründen verwenden usort (kann für die Schule sinnvoller eine rekursive Funktion sein), verwenden Sie folgenden Code:
<?php
$text = 'one four eleven no upstairs';
$arr = explode(" ", $text);
function findLongest($inputArray) {
$currentIndex = 0;
$currentMax = $inputArray[$currentIndex];
foreach ($inputArray as $key => $value) {
if(strlen($value) > strlen($currentMax)){
$currentMax = $value;
$currentIndex = $key;
}
}
return [$currentIndex, $currentMax];
}
for($i = 0; $i < 3; $i++) {
$result = findLongest($arr);
unset($arr[$result[0]]);
var_dump($result[1]);
}
?>
warum kann‘ nst du diese Funktionen, ist das für die Schule? –
Ja, das ist für die Schule. –