Php 如何使此函数返回显示数组数据的表

Php 如何使此函数返回显示数组数据的表,php,Php,我创建了一个接受数据数组的函数 我想通过创建一个已经显示日期的表来返回这个HMTL 但是foreach不显示HTML,也不显示任何错误 我的问题是:如何让这个函数返回显示数组数据的表 我的职能: <?php function GetTableResult($arrayData) { return "<table id='Grid' class='table table-striped table-bordered table-hover dataTable no-footer

我创建了一个接受数据数组的函数 我想通过创建一个已经显示日期的表来返回这个HMTL 但是foreach不显示HTML,也不显示任何错误

我的问题是:如何让这个函数返回显示数组数据的表

我的职能:

<?php

function GetTableResult($arrayData) {

  return "<table id='Grid' class='table table-striped table-bordered table-hover dataTable no-footer DTTT_selectable' role='grid' aria-describedby='dynamic-table_info'>
          <thead>
            <tr>
              <th class='hidden-480' tabindex='0' aria-controls='dynamic-table' rowspan='1' colspan='1' aria-label='teste'>Date</th>
              <th class='hidden-480' tabindex='0' aria-controls='dynamic-table' rowspan='1' colspan='1' aria-label='teste'>Name</th>
              <th class='hidden-480' tabindex='0' aria-controls='dynamic-table' rowspan='1' colspan='1' aria-label='teste'>Procedure</th>
              <th class='hidden-480' tabindex='0' aria-controls='dynamic-table' rowspan='1' colspan='1' aria-label='teste'>Provider Name</th>
              <th class='hidden-480' tabindex='0' aria-controls='dynamic-table' rowspan='1' colspan='1' aria-label='teste'>Bravery</th>                                         
              <th class='hidden-480' tabindex='0' aria-controls='dynamic-table' rowspan='1' colspan='1' aria-label='teste'>Coparticipation</th>
              <th class='hidden-480' tabindex='0' aria-controls='dynamic-table' rowspan='1' colspan='1' aria-label='teste'>Type</th>
              <th class='hidden-480' tabindex='0' aria-controls='dynamic-table' rowspan='1' colspan='1' aria-label='teste'>Date Reference`enter code here`</th>
            </tr>
          </thead>
          <tbody>";
            foreach($arrayData as $data){
             "<tr id='Grid_Linha_1' class='odd' role='row'>
              <td class = 'hidden-480'>" . $data['date']             . "</td>
              <td class = 'hidden-480'>" . $data['name']             . "</td>
              <td class = 'hidden-480'>" . $data['procedure']        . "</td>
              <td class = 'hidden-480'>" . $data['provider_name']   . "</td>
              <td class = 'hidden-480'>" . $data['bravery']          . "</td>
              <td class = 'hidden-480'>" . $data['coparticipation'  . "</td>
              <td class = 'hidden-480'>" . $data['type']             . "</td>
              <td class = 'hidden-480'>" . $data['date_reference']  . "</td>
            </tr>";
            }
          "</tbody>
        </table>";
}

这是一个简化的示例,但您应该了解要点:

<?php

function GetTableResult($arrayData) {
    $table = '<table>';

    foreach($arrayData as $data) {
        $table .= "<tr id='Grid_Linha_1' class='odd' role='row'>
              <td class = 'hidden-480'>${data['date']}</td>
              ...
            </tr>";
    }
    $table .= '</table>';

    return $table;
}

echo GetTableResult([
    ['date' => '2017-11-22'],
    ['date' => '2017-11-23'],
]);
关键是将生成的HTML存储到变量$table中,并使用$table向其追加字符串。。。并在字符串中使用${data['field_name']}插入变量值

我希望这有帮助


只是一个一般性的建议:手动生成复杂的HTML是一个痛苦的过程。我建议大家看看模板引擎,这样可以减轻痛苦:。

这里是我在评论中提到的解决方案。您缺少一个括号,请尝试将其呼出,而不是返回

<?php

$arrayData = array(
        array(

        "date" => "1/1/10",

        "name" => "peterparker",
    ),
    array(

        "name" => "Clark Kent",

        "date" => "2/10/27",
    ),
);
function GetTableResult($arrayData) {
  echo "<table id='Grid' class='table table-striped table-bordered table-hover dataTable no-footer DTTT_selectable' role='grid' aria-describedby='dynamic-table_info'>
          <thead>
            <tr>
              <th class='hidden-480' tabindex='0' aria-controls='dynamic-table' rowspan='1' colspan='1' aria-label='teste'>Date</th>
              <th class='hidden-480' tabindex='0' aria-controls='dynamic-table' rowspan='1' colspan='1' aria-label='teste'>Name</th>

            </tr>
          </thead>
          <tbody>";
            foreach($arrayData as $data){
                echo "<tr id='Grid_Linha_1' class='odd' role='row'>
              <td class = 'hidden-480'>" . $data['date']             . "</td>
              <td class = 'hidden-480'>" . $data['name']             . "</td>

            </tr>";
            }

          echo "</tbody>
        </table>";
}

GetTableResult($arrayData);
输出:

日期名称

1/1/10彼得帕克


2/10/27克拉克·肯特

如果你归还了什么东西,它就必须去某个地方。例如:$myArray=array$结果=GetTableResult$myArray;现在,函数的输出将返回到变量$result。之后,您可以回显$result;例如,您在参与后缺少一个括号,并尝试回显而不是返回值。应该解决了。谢谢盖伊@jeromegamez你的回答解决了问题!我没有使用树枝或类似的东西,因为这个项目真的很小!