首先让我先说这是一个家庭作业问题,所以我必须建立这个表的方式是因为分配的要求。这些要求需要三个php函数来构建一个html表。我有一个table,td和tr函数。我想我非常接近找到hwo来让它发挥作用。刚遇到一个小问题,想知道是否有人可以帮我解释或解释我遇到这个问题的原因。这是我的代码:
<?php
//need a constant to keep track of the number of rows
define('NUM_ROWS', '3');
//function to start building table
function table()
{
$myTable = '<table border="1">' . tr($myTable) . '</table>';
return $myTable;
}
//function to build table rows
function tr( $myTable )
{
$myTable .= '<tr>' . td($myTable) . '</tr>';
return $myTable;
}
//function to build table data
function td($myTable)
{
$rowData = array("Planes", "Trains", "Automobiles");
for($i = 0, $length = count($rowData); $i < $length; $i++)
{
$myTable .= '<td>' . $rowData[$i] . '</td>';
}
return $myTable;
}
echo table();
?>
我遇到的问题是在表函数中。如果我按照上面显示的方式编写函数,它将显示表格,但是当我调用tr函数时,它还会在$myTable
上给出一个未定义的变量错误。如果我将该功能更改为下面的功能,则根本不显示我的表格,只显示空白页面。
function table()
{
$myTable = '<table border="1">';
tr($myTable);
$myTable .= '</table>';
return $myTable;
}
关于我做错了什么或者能做些什么不同的任何想法?
答案 0 :(得分:0)
你需要通过
您没有将任何参数传递给功能表
function table($myTable)
{
$myTable = '<table border="1">' . tr($myTable) . '</table>';
return $myTable;
}
答案 1 :(得分:0)
你实际上并没有很好地使用传递的变量,所以只是不要试图传递变量(你在它存在之前传递,因此抱怨未定义);这样做:
<?php
//need a constant to keep track of the number of rows
define('NUM_ROWS', '3');
//function to start building table
function table()
{
$myTable = '<table border="1">' . tr() . '</table>';
return $myTable;
}
//function to build table rows
function tr()
{
$tr = '<tr>' . td() . '</tr>';
return $tr;
}
//function to build table data
function td()
{
$td = '';
$rowData = array("Planes", "Trains", "Automobiles");
for($i = 0, $length = count($rowData); $i < $length; $i++)
{
$td .= '<td>' . $rowData[$i] . '</td>';
}
return $td;
}
echo table();
?>
答案 2 :(得分:0)
试试这个。
//need a constant to keep track of the number of rows
define('NUM_ROWS', '3');
//function to start building table
function table($val)
{
$myTable="";
$myTable = '<table border="1">' . tr($val) . '</table>';
return $myTable;
}
//function to build table rows
function tr( $val )
{
$myTable="";
$myTable .= '<tr>' . td($val) . '</tr>';
return $myTable;
}
//function to build table data
function td($val)
{
$myTable="";
for($i = 0, $length = NUM_ROWS; $i < $length; $i++)
{
$myTable .= '<td>' . $val[$i] . '</td>';
}
return $myTable;
}
$rowData = array("Planes", "Trains", "Automobiles");
echo table($rowData);