Задать вопрос
Martenek
@Martenek

PHP Return Array from API?

Добрый день,, всем спасибо за ответы.

У меня есть подобный код PHP. Мне нужно вернуть его через что-то типо [Return] потому что [Echo] выводит код перед html кодом вне зависимо где вы ставите шорткод — но это логично. Но я не понимаю как мне это сделать, если я получаю большой асинхронный массив из API и скажем задать значение для каждой переменной не совсем реально, тем более я его перебираю через foreach и добавляю условия вывода этого перебора (тоесть часть не нужной инфы у меня не выводит). Я понимаю что можно седлать Return array (), но я не понимаю что мне писать в array, если я не могу задать значения для переменных. Есть вариант [List] но тут я особо не могу понять логику его работы.

<?php

...

$data2 = json_decode($response2, true, 999, JSON_THROW_ON_ERROR);

$a = 1;$b = 1;
foreach ($data2 as $reposit2): if($reposit2['import_export_and_transit_procedures'] ?? $reposit2['enquiry_points'] ?? $reposit2['single_window']):
echo '<div class="collage-thumb"><a href="#" class="js-open-modal image-link" data-modal="'.$a++.'"><img src="/wp-content/uploads/agora/img/flag/flag'.$reposit2['id'].'.jpg" alt="img" /><div class="thumb-info">'.$reposit2['name'].'</div></a></div>'; 
else:
    echo "";
endif;
endforeach;

...


Эт просто бред
<?php
$content '<div class="collage-thumb"><a href="#" class="js-open-modal image-link" data-modal="'.$a++.'"><img src="/wp-content/uploads/agora/img/flag/flag'.$reposit2['id'].'.jpg" alt="img" /><div class="thumb-info">'.$reposit2['name'].'</div></a></div>';
return array($content,) 

or

list($content)
  • Вопрос задан
  • 173 просмотра
Подписаться 1 Средний 10 комментариев
Решения вопроса 1
nokimaro
@nokimaro
Меня невозможно остановить, если я смогу начать.
1. Вместо echo складывайте результаты в переменную
2. Выводите результаты в нужных местах
3. Продолжайте изучать программирование, никого не слушайте

//изначальное состояние - пустая строка
$content = ""; 
foreach ($data2 as $reposit2) {
    //добавляем содержимое в цикле
    $content .= '<div class итд';
}

//в нужном месте
echo $content;


Если мы внутри функции то делаем return $content; - то есть возвращаем строку с кусками html и дальше используем этот результат по своему усмотрению.
Ответ написан
Пригласить эксперта
Ваш ответ на вопрос

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

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