Я пытаюсь отформатировать вывод массива с помощью переполнения стека

Я пытаюсь отформатировать вывод массива с помощью php, но я не могу получить ключи и значения в одной строке. Я перечислил код, который я использую для отображения ключей и значений, но этот код выводит ключи и значения в разных строках

function olLiTree($tree)
{
echo '<pre>';
foreach($tree as $key => $item) {
if (is_array($item)) {
echo '<pre>', $key ;
olLiTree($item);
echo '</pre>';
} else {
echo '<pre>', $item, '</pre>';
}
}
echo '</ul>';
}

print(olLiTree($results));

1

Решение

использование <ul> <li> .... </li></ul>, Также удалите comma(,) потому что PHP используют dot(.) для конкатной строки.

function olLiTree($tree)
{
echo '<ul>';
foreach($tree as $key => $item) {
if (is_array($item)) {
echo '<li>'. $key ;
olLiTree($item);
echo '</li>';
} else {
echo '<li>' .$item. '</li>';
}
}
echo '</ul>';
}

print(olLiTree($results));
1

Другие решения

Вы используете запятую , вместо точки .
для конкатенации строк php используйте точку

    function olLiTree($tree)
{
echo '<pre>';
foreach($tree as $key => $item) {
if (is_array($item)) {
echo '<pre>'. $key ;
olLiTree($item);
echo '</pre>';
} else {
echo '<pre>' . $item. '</pre>';
}
}
echo '</ul>';
}

print(olLiTree($results));
0

По вопросам рекламы [email protected]