Печать таблицы html из массива php

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

Массив это:

Array ( [0] => Array ( [tid] => 1 [token] => andrea [participant_info] => Array ( [firstname] => Andrea [lastname] => AndreaLastName [email] => andrea@email.com ) ) [1] => Array ( [tid] => 3 [token] => 1 [participant_info] => Array ( [firstname] => 1FirstName [lastname] => 1LastName [email] => 1@email.com ) ) [2] => Array ( [tid] => 4 [token] => 2 [participant_info] => Array ( [firstname] => 2FirstName [lastname] => 2LastName [email] => 2@email.com ) ) [3] => Array ( [tid] => 5 [token] => 3 [participant_info] => Array ( [firstname] => 3FirstName [lastname] => 3LastName [email] => 3@email.com ) ) [4] => Array ( [tid] => 6 [token] => 4 [participant_info] => Array ( [firstname] => 4FirstName [lastname] => 4LastName [email] => 4@email.com ) ) [5] => Array ( [tid] => 7 [token] => 5 [participant_info] => Array ( [firstname] => 5FirstName [lastname] => 5LastName [email] => 5@email.com ) ) [6] => Array ( [tid] => 8 [token] => 6 [participant_info] => Array ( [firstname] => 6FirstName [lastname] => 6LastName [email] => 6@email.com ) ) [7] => Array ( [tid] => 9 [token] => 7 [participant_info] => Array ( [firstname] => 7FirstName [lastname] => 7LastName [email] => 7@email.com ) ) [8] => Array ( [tid] => 10 [token] => test [participant_info] => Array ( [firstname] => testFirstName [lastname] => testLastName [email] => test@email.com ) ) [9] => Array ( [tid] => 11 [token] => test3 [participant_info] => Array ( [firstname] => firstnameTest [lastname] => lastnameTest [email] => test2@email.com ) ) ) 

И это выглядит так, используя какой-то онлайн-инструмент:
Матрица
Что мне нужно, так это создать таблицу HTML ( с помощью classic < table>or < div>doesn’t care )

Это выглядит так:
Введите описание изображения здесь
Где маркер не напечатан напрямую, но он доступен $variableдля использования в некоторых скриптах ( мне нужно добавить значок, чтобы загрузить файл с именем «$token.документ pdf» )

Спасибо за любое предложение.

Я нашел некоторые функции, которые печатают массив непосредственно, как это кажется, но я не знаю, как адаптироваться к моим потребностям:

function build_table($array){
    // start table
    $html = '<table border="1" style="width:100%">';
    // header row
    $html .= '<tr>';
    foreach($array[0] as $key=>$value){
        $html .= '<th>' . $key . '</th>';
    }
    $html .= '</tr>';

    // data rows
    foreach( $array as $key=>$value){
        $html .= '<tr>';
            foreach($value as $key2=>$value2){
                $html .= '<td>' . $value2 . '</td>';
            }
        $html .= '</tr>';
    }

    // finish table and return it

    $html .= '</table>';
    return $html;
} 

1 ответ

  1. Я переделал массив, чтобы дать хороший пример.

    Как вы видите, я использую 2 петли foreach.
    Первый-это петля через основной массив «$array».
    Второй foreach, в первом foreach, петляет через массив из ‘participant_info’.

    $I означает значение из массива.
    Таким образом, если вы набираете: $i[‘did’], он обходит все значения из ‘tid’.

    Надеюсь, это все объясняет.

    Удачи!

    <?php
    
        // Made array
        $array[0] = array("tid" => 1, "token" => "andrea", "participant_info" => array("firstname" => "Andrea", "lastname" => "AndreaLastName", "email" => "andrea@email.com" ));
        $array[1] = array("tid" => 3, "token" => 1, "participant_info" => array("firstname" => "1FirstName", "lastname" => "1LastName", "email" => "1@email.com" ));
        $array[2] = array("tid" => 4, "token" => 2, "participant_info" => array("firstname" => "2FirstName", "lastname" => "2LastName", "email" => "2@email.com" ));
        $array[3] = array("tid" => 5, "token" => 3, "participant_info" => array("firstname" => "3FirstName", "lastname" => "3LastName", "email" => "3@email.com" ));
        $array[4] = array("tid" => 6, "token" => 4, "participant_info" => array("firstname" => "4FirstName", "lastname" => "4LastName", "email" => "4@email.com" ));
        $array[5] = array("tid" => 7, "token" => 5, "participant_info" => array("firstname" => "5FirstName", "lastname" => "5LastName", "email" => "5@email.com" ));
        $array[6] = array("tid" => 8, "token" => 6, "participant_info" => array("firstname" => "6FirstName", "lastname" => "6LastName", "email" => "6@email.com" ));
        $array[7] = array("tid" => 9, "token" => 7, "participant_info" => array("firstname" => "7FirstName", "lastname" => "7LastName", "email" => "7@email.com" ));
        $array[8] = array("tid" => 10, "token" => "test", "participant_info" => array("firstname" => "testFirstName", "lastname" => "testLastName", "email" => "test@email.com" ));
        $array[9] = array("tid" => 11, "token" => "test3", "participant_info" => array("firstname" => "firstnameTest", "lastname" => "lastnameTest", "email" => "test2@email.com" ));
    
        ?>
    
    
        <table>
        <tr>
            <th>tid</th>
            <th>token</th>
            <th>participant_info</th>
            <th>firstname</th>
            <th>lastname</th>
            <th>email</th>
        </tr>
    
        <? foreach($array as $h => $i): ?>
        <tr>
            <td><?=$i['tid']?></td>
            <td><?=$i['token']?></td>
                <? foreach($i['participant_info'] as $p): ?>
                    <td><?=$p?></td>
                <? endforeach; ?>
        </tr>
        <? endforeach; ?>
        </table>