SEO продвижение сайтов

PHP-код вывода массивов в HTML

Все программисты PHP (с любым уровнем подготовки), конечно знаю, как вывести массив PHP в HTML-код: ну, конечно же через цикл!

Я предлагаю это сделать при помощи функции, которая отобразит любой массив в любом виде c HTML оформлением. Данной функции мы передаём в качестве аргументов: массив и формат отображения его в виде другой функции.

Такой подход даёт универсальность данной функции отображения массива и значительно сокращает дублирование PHP кода.

Пример:

<?php
    //Двумерный массив
    $arr1=[
        [
            'surname'=>'Алехин',
            'name'=>'Геннадий',
            'age'=>'40',
        ],
        [
            'surname'=>'Smith',
            'name'=>'Джон',
            'age'=>'25',
        ],
    ];
    //var_dump($arr1);


    //Класс для работы с HTML
    class HTMLview
    {
        function getArrCode($arr,$f)
        {
            $n=0; $result='';
            foreach ($arr as $k => $v) {
                $result.=$f($k,$v,++$n);
            }
            return $result;
        }
    }

    
    $code=new HTMLview;//Создаём объект класса
    echo $code->getArrCode($arr1,function($k,$v,$n=0)
    {
        return '<p>'.$n.') <b>'.$v['surname'].'</b> '.$v['name'].' - '.$v['age']." лет.</p>\n";
        //return '<div><b>'.$v['name'].'</b> '.$v['surname'].' - '.$v['age']." лет.</div>\n";
    });
    //<p>1) b>Алехин/b> Геннадий - 40 лет./p>
?>

Обратите внимание: в данную функцию в виде аргументов мы можем передавать любые массивы и любые функции форматирования, при этом получать любой вид отображения!

А можно и ещё круче...

<?php
    //Двумерный массив
    $arr1=[
        [
            'surname'=>'Алехин',
            'name'=>'Геннадий',
            'age'=>'40',
        ],
        [
            'surname'=>'Smith',
            'name'=>'Джон',
            'age'=>'25',
        ],
    ];
    print_r($arr1);


    class Gena {

        function getArr($arr,$f1,$f2)
        {
            $r=''; $n=0;
            foreach ($arr as $k => $v) {
                $r[$f1($k,$v,$n)]=$f2($k,$v,$n);
                $n++;
            }
            return $r;
        }
    }


    $oGena=new Gena;
    $r=$oGena->getArr($arr1,
        function($k,$v,$n)
        {
            return $v['surname'];
        },
        function($k,$v,$n)
        {
            $n++;
            return "$n) $v[surname] $v[name] - $v[age]";
        }
    );
    print_r($r);
    /*
    Array
    (
        [Алехин] => 1) Алехин Геннадий - 40
        [Smith] => 2) Smith Джон - 25
    )
    */
?>

Автор: Алехин Геннадий (08.03.2020)

Добавить комментарий


Защитный код
Обновить

Web-технологии

Событие в JavaScript

Событие в JavaScript - это определённое действие, которые вызвано либо пользователем, либо браузером.

Например:

События мыши:

  • click – происходит, когда кликнули на элемент левой кнопкой мыши (на устройствах с сенсорными экранами оно происходит при касании).
  • contextmenu – происходит, когда кликнули на элемент правой кнопкой мыши.
  • mouseover / mouseout – когда мышь наводится на / покидает элемент.
  • mousedown / mouseup – когда нажали / отжали кнопку мыши на элементе.
  • mousemove – при движении мыши.

События на элементах управления:

  • submit – пользователь отправил форму
  • focus – пользователь фокусируется на элементе, например нажимает на <input type="text" />.
Подробнее...

Универсальный обход по массиву

Предлагаю вашему вниманию PHP-код - универсальный обходчик любого массива с любым представлением. Используем две функции: 1) функция с циклом (метод ArrFor() в классе) и 2) функция (как аргумент) с оформлением результатов обхода по массиву в цикле.

Подробнее...

JavaScript - основы (ES6)

ECMAScript 6 (или ES6) - это новая версия JavaScript 2015г, в которую добавлен новый функционал, которая на сегодня поддерживается всеми современными браузерами.

Переменные и комментарии

JavaScript - не строго типизированный язык. Переменные обозначаются так:

	let name='Геннадий'//Строка
	console.log(name)  //Геннадий - отображается в консоли

	var age=40      //Число(без кавычек) VAR (глобальная) - устарело, не использовать!
	console.log(age)//40 - отображается в консоли

	const prof="Программист"//Это константа
	console.log(prof)//Программист - отображается в консоли

	// - это однострочный комментарий

	/*
		тут 
		многострочные 
		комментарии
	*/

Подробнее...
Интересные статьи

Диалектические противоречия или чего хотят современные женщины

Статистика женщин и мужчин на 2016г.

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

Многие женщины, живущие в современном мире, традиционно имеют как минимум два взаимоисключающих убеждения в отношении взаимодействия с мужчинами для создания такого союза.

Подробнее...

Почему мужчинам опасно регистрировать брак в России

Почему мужчинам опасно регистрировать брак в России

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

Но при этом категорически настаиваю, что официально регистрировать брак в нашей стране для мужчин катастрофически опасно и вот почему...

Подробнее...

День Победы со слезами на глазах...

День Победы со слезами на глазах...

Дорогие друзья, вот и прошёл пожалуй самый светлый праздник для нашей страны, для нашего народа - ДЕНЬ ПОБЕДЫ - 9 мая.

Но, как именно прошёл праздник 75-летия ПОБЕДЫ в этом году, я хочу напомнить сегодня, спустя 4 дня от празднования исторической даты.

У меня такое ощущение, как будто никто не заметил, что ПОЛИЦАИ по всей стране в этот день задерживали, арестовывали и штрафовали именно за память о Победе, за возложение цветов к памятникам нашим павшим героям.

Подробнее...

Оставить заявку

Закрыть
Заполните фрму и отправьте нам заяку
Заполните все обязательные поля*
captcha
Перезагрузить