Всем спасибо.
В итоге сделал вот так:
<?php
if (!empty($arItem["PREVIEW_PICTURE"])) {
$widths = [400, 600, 800, 900, 1000, 1200, 1400, 1500, 1600, 1800, 2100, 2200, 2400, 2600, 3000];
$resizedImages = []; // Массив для хранения всех изображений
foreach ($widths as $width) {
$resizedImage = CFile::ResizeImageGet(
$arItem["PREVIEW_PICTURE"],
['width' => $width, 'height' => 10000],
BX_RESIZE_IMAGE_PROPORTIONAL,
true
);
// Сохраняем результат в массиве
$resizedImages[$width] = $resizedImage;
// Создаём переменную динамически
${"file_w{$width}"} = $resizedImage; // Создание переменной file_w400, file_w600 и т.д.
}
}
// Теперь вы можете получить доступ к каждому из изображений с помощью динамически созданных переменных
echo '<img src="' . $file_w600["src"] . '" alt="Image 600px">';
echo '<img src="' . $file_w900["src"] . '" alt="Image 900px">';
echo '<img src="' . $file_w1200["src"] . '" alt="Image 1200px">';
// Добавьте вывод других изображений по мере необходимости
?>