@crack_user

Как сделать лимит выполнения цикла for?

Задача - если юзер отправил 5 или больше фоток, мы грузим лишь первые 4 и отправляем также первые 4.
Мой код -
if ($data->object->message->attachments[$i]->type == 'photo' && $colls >= 5){ // Если массив равен type = photo, а кол-во photo больше или равно 5
        $colls ++;
        for($i = 0; $i != $count; $i++) { // При каждом выполнение - к $i добавляем +1
            if($i >= 5) { // При достижение выполнений больше 4 - выполняем код и останавливаем
                $type = $data->object->message->attachments[$i]->photo->id;
                $sizes = $data->object->message->attachments[$i]->photo->sizes;
                $count_size = count($sizes);
                for($is = 0; $is != $count_size; $is ++){// Код на получение максимального размера с фотки
                    if($data->object->message->attachments[$i]->photo->sizes[$is]->height >= $h){
                        $h = $data->object->message->attachments[$i]->photo->sizes[$is]->height;
                        $m = $is;
                    }
                    if($data->object->message->attachments[$i]->photo->sizes[$is]->width >= $w){
                        $w = $data->object->message->attachments[$i]->photo->sizes[$is]->width;
                        $m = $is;
                    }
                }
                break;
            }
        }
    }
  • Вопрос задан
  • 164 просмотра
Пригласить эксперта
Ответы на вопрос 2
Adamos
@Adamos
Прописать в модели Message метод limited_attachments и использовать его во всех подобных случаях.
Ответ написан
delphinpro
@delphinpro Куратор тега PHP
frontend developer
for($i = 0;      // выполнять от нуля, до тех пор
    $i < $count, // пока $i меньше общего кол-ва
    $i < 5;      // или меньше пяти
    $i++) {
Ответ написан
Комментировать
Ваш ответ на вопрос

Войдите, чтобы написать ответ

Похожие вопросы