Как конвертировать массив в текст?
Имеется такой массив с подмассивами:
[0] =>
[
["key"] => "Max"
["value"] => "F."
["header"] => "test"
],
[1] =>
[
["key"] => "Robert"
["value"] => "M."
["header"] => "test2"
],
[2] =>
[
["key"] => "John"
["value"] => "S."
["header"] => "test"
]
Как мне ее сконвертировать в такой вид на PHP?
test
Max: F.
John: S.
test2
Robert: M.
Удалось сделать что-то подобное, но получается костыльно :(
Ответы (2 шт):
Автор решения: Lexa Dv
→ Ссылка
Если все идет с БД то проще все сразу и забирать от туда нужным способом
//перебираем все возможные header, не повторяясь, получим: test, test2
$pos = mysqli_query($CONNECT, "SELECT DISTINCT header FROM table");
while ($row = mysqli_fetch_array($pos)) {
//выводим header
echo $row['0'].'</br>';
//показываем все строки из каждого header по отдельности
$sql2 = mysqli_query($CONNECT, "SELECT * FROM table WHERE header = '$row[0]'");
while($row2 = mysqli_fetch_assoc($sql2) ){
echo ' '.$row2['key'].': '.$row2['value'].'</br>';
}
echo '</br>';
}
не забудь заменить слово table в обоих местах на с вою таблицу и $CONNECT на свое подключение к БД
Автор решения: WinterSilence
→ Ссылка
рекурсивной функцией/итератором, что-то вроде
echo print_r($array, true);
или
$tree = new RecursiveTreeIterator(new RecursiveArrayIterator($array));
foreach ($tree as $value) {
echo $value . PHP_EOL;
}