Как в PHP превратить массив в строку внутри foreach? Всех приветствую, друзья. Битый час не могу разобраться с, вроде как, простой штуковиной. Есть foreach, внутри которого разбираю данные. И вот одни из этих данных лежат в виде json. Делаю json_decode и получаю массив. Выглядит это как-то так. foreach ($orders as $order) { //Получаем и декодируем контакты из заказа $json = $order->get('contacts'); $contacts = json_decode($json); //Создаём плейсхолдеры для чанка $ar = array( 'contacts' => $contacts, ); $modx->setPlaceholders($ar, 'order.'); //Получаем чанк оформления и вводим результат $view = $modx->getChunk($chank); echo $view; } И вот нужно, чтобы внутри данные уже появились в виде$ar = array( 'fullname' => $lable . ':' . $value ); Массив имеем такой вид:[ { "name":"fullname", "value":"Петя", "label":"Имя" }, { "name":"email", "value":"dfsf@gmail.com", "label":"Адрес эл. почты" }, { "name":"phone", "value":"555-555", "label":"Телефон" }, { "name":"message", "value":"", "label":"Комментарий" } ] Всем заранее спасибо, друзья!
Для того, чтобы перевести массив в строку внутри foreach, можно использовать функцию implode(). В вашем случае, чтобы получить строку вида 'fullname:Петя', можно использовать следующий код внутри вашего foreach:
Этот код пройдет по каждому элементу массива $contacts, создаст строку вида 'label:value' и выведет ее на экран. Если вам нужно сохранить полученные строки в виде массива, то можете сделать следующее:
Для того, чтобы перевести массив в строку внутри foreach, можно использовать функцию implode(). В вашем случае, чтобы получить строку вида 'fullname:Петя', можно использовать следующий код внутри вашего foreach:
foreach ($contacts as $contact) {$string = $contact['label'] . ':' . $contact['value'];
echo $string . "<br>";
}
Этот код пройдет по каждому элементу массива $contacts, создаст строку вида 'label:value' и выведет ее на экран. Если вам нужно сохранить полученные строки в виде массива, то можете сделать следующее:
$result = array();foreach ($contacts as $contact) {
$string = $contact['label'] . ':' . $contact['value'];
$result[] = $string;
}
После выполнения этого кода, в переменной $result будет храниться массив строк вида 'label:value'.