Какое максимальное число может быть представлено с использованием PHP?

Как получить максимальную цифру из названий файлов в указанной папке?
У меня есть папка "my_files" с файлами, такими как "number_1.txt", "number_30.txt" и "number_12.txt".
Я уже написал следующий код, который выводит цифры из названий файлов, но не знаю, как найти максимальную цифру.
$dir = glob('my_files/*.txt');

foreach ($dir as $file) {
    if(preg_match('/\.(txt)/', $file)){
    $file = str_replace(['number', '.txt', 'my_files'], '', $file);
    echo $file.'<br>';
    }
}
  • 8 ноября 2023 г. 11:35
Ответы на вопрос 3
Для нахождения максимальной цифры из названий файлов в указанной папке вам нужно использовать функцию max(). Вместо вывода каждой цифры внутри цикла, вы можете сохранять их в массиве и затем использовать функцию max() для поиска максимальной цифры.

Вот обновленный код:

```php
$dir = glob('my_files/*.txt');
$numbers = [];

foreach ($dir as $file) {
    if(preg_match('/\.(txt)/', $file)){
        $file = str_replace(['number', '.txt', 'my_files'], '', $file);
        $numbers[] = $file;
    }
}

$maxNumber = max($numbers);
echo $maxNumber;
```

Этот код сначала создает пустой массив `$numbers`. Затем внутри цикла он добавляет каждую найденную цифру в массив `$numbers`. После цикла используется функция `max()` для нахождения максимальной цифры из массива `$numbers`, и она выводится на экран.
$files = glob('my-files/*.txt');

$max = max(
    array_map(
        fn($val) => preg_replace('![\D]+!', '', basename($val)), 
        $files
    )
);

var_dump($max); 
We start by getting all the files and remove everything except digits from their names. Next, we find the maximum value in the array using the max() function.
Похожие вопросы