Php вывод массива красиво

БЛОГ ПРО WEB

Рассказываю о web-разработке
и помогаю создавать сайты

Вывод массива PHP с оформлением списков

Потребовалось вывести все элементы массива в читабельном виде, и чтобы в дальнейшем была возможность прикручивать функционал для элементов массива ( но это другая история 😉 )

Да, мало в каких случаях может пригодиться, но если ты читаешь это, то возможно ты один из тех, кому такое понадобилось.

Итак, поехали…

$array = [ 'id' => 1, 'name' => 'First Project', 'data' => [ 'style' => [ 'color' => 'white' ], 'page_count' => 10 ] ];

Массив многомерный, и вывод должен быть соответствующий. ДА, можно вывести так:

А если Вы используете Laravel, то так:

НО…

Как я уже говорил, должна быть возможность прикручивать функционал к каждому элементу. А значит будем использовать рекурсию

Как работает функция, думаю понятно, теперь немного стиля

.alignment < background-color: #3B4650; font-size: 12px; padding: 10px; color: #DCDEE0; >.alignment__caret < color: #00FFA9; cursor: pointer; >.alignment__ul < list-style: none; margin: 0; padding: 0; >.alignment__ul li ul

В стиле скрываем второстепенные списки. Теперь нам нужна возможность при клике, открывать скрытые списки. Напишем небольшой JS

$('.alignment__caret').click(function(e) < $(this).closest('li').find('ul:first').slideToggle(); >);

Готово!

Запускаем функцию с массивом

У меня всё работает, а у тебя? 🙂
Успехов в коде 😉

Источник

Как вывести массив в массиве красиво разложив? [закрыт]

Вопросы с просьбами помочь с отладкой («почему этот код не работает?») должны включать желаемое поведение, конкретную проблему или ошибку и минимальный код для её воспроизведения прямо в вопросе. Вопросы без явного описания проблемы бесполезны для остальных посетителей. См. Как создать минимальный, самодостаточный и воспроизводимый пример.

Простите за банальный возможно вопрос, но гуглить уже нет сил конкретно свой пример. Как красиво (возможно с помощью foreach ) разложить такой массив, вывел через print_r :

Array ( [0] => Array ( [price-name] => Терапия [price-repeater] => Array ( [0] => Array ( [name] => Приём терапевта (осмотр, постановка первичного диагноза) [price] => 500 [sale] => 450 ) [1] => Array ( [name] => Консультация по результатам исследований [price] => 400 [sale] => 390 ) [2] => Array ( [name] => Консультация по зооветеринарным вопросам (15 минут) [price] => 800 [sale] => 785 ) ) ) [1] => Array ( [price-name] => Диагностика [price-repeater] => Array ( [0] => Array ( [name] => Пример услуги [price] => 1150 [sale] => 1150 ) ) ) ) 
 

Терапия

Наименование услуги Стоимость Стоимость со скидкой
Приём терапевта (осмотр, постановка первичного диагноза) 500 450
Консультация по результатам исследований 400 390
Консультация по зооветеринарным вопросам (15 минут) 800 785

Диагностика

Наименование услуги Стоимость Стоимость со скидкой
Пример услуги 1150 1150

Источник

Красивый вывод var_dump

Что нужно изменить в php.ini , для того чтобы иметь человекочитаемый вывод, например, var_dump и print_r ? Сейчас всё выводиться в один ряд, читать массивы с данными нереально.

>Сейчас всё выводиться в один ряд echo(nl2br(var_export( $forDump , true))) Или просто нажать «Исходный код страницы» там где сделан дамп. Мне лично var_dump больше нравится чем xdebug — он не режет глаз.

4 ответа 4

echo '
'; var_dump($smth); print_r($array); echo '

';

function vardump($var) < echo '
'; var_dump($var); echo '

'; >

Использовать вместо var_dump . ))

@Get надоело постоянно обрамлять вардамп тегами. Я знаю, что можно сделать подобный вывод по умолчанию, но нагуглить не могу.

function pr($var) < static $int=0; echo '
'.$int.' '; print_r($var); echo '

'; $int++; > function prv($var) < static $int=0; echo '

'.$int.' '; var_dump($var); echo '

'; $int++; >

Примечание: $var может быть любой переменной, массивом или объектом.

Разкомментируйте в php.ini строку:

echo ‘

' . print_r($arrayName, 1) . '

‘;

пожалуйста, постарайтесь оставлять чуть более развёрнутые ответы. дополнить ответ можно, нажав править

Highly active question. Earn 10 reputation (not counting the association bonus) in order to answer this question. The reputation requirement helps protect this question from spam and non-answer activity.

Похожие

Подписаться на ленту

Для подписки на ленту скопируйте и вставьте эту ссылку в вашу программу для чтения RSS.

Дизайн сайта / логотип © 2023 Stack Exchange Inc; пользовательские материалы лицензированы в соответствии с CC BY-SA . rev 2023.7.27.43548

Нажимая «Принять все файлы cookie» вы соглашаетесь, что Stack Exchange может хранить файлы cookie на вашем устройстве и раскрывать информацию в соответствии с нашей Политикой в отношении файлов cookie.

Источник

Читайте также:  Радиус
Оцените статью