我需要创建 3 个函数来使用 PHP 创建一个表。 但是我一直在一行中获取所有数据。 这看起来也不是最有效的方法。 有人可以告诉我出了什么问题,因为看起来所有的 td 都像 tr 一样出现?
<html>
<head></head>
<body>
<?php
function tdFunction1($flavor1, $flavor2, $flavor3)
{
echo "<td>";
echo $flavor1;
echo "</td>";
echo "<td>";
echo $flavor2;
echo "</td>";
echo "<td>";
echo $flavor3;
echo "</td>";
}
function tdFunction2($dessert1, $dessert2, $dessert3)
{
echo "<td>";
echo $dessert1;
echo "</td>";
echo "<td>";
echo $dessert2;
echo "</td>";
echo "<td>";
echo $dessert3;
echo "</td>";
}
function tdFunction3($temp1, $temp2, $temp3)
{
echo "<td>";
echo $temp1;
echo "</td>";
echo "<td>";
echo $temp2;
echo "</td>";
echo "<td>";
echo $temp3;
echo "</td>";
}
echo "<table border=1 style='width:100%;'>";
echo tdFunction1("chocolate", "apple", "vanilla");
echo tdFunction2("Lava Cake", "Cheesecake", "Cream Puffs");
echo tdFunction3("hot", "cold", "cold");
echo "</table>";
?>
</body>
</html>
我把它切换到我下面的内容,但我得到了一个致命错误:
在第 39 行调用 C:\xampp\htdocs\Trash\index.php 中的未定义函数 colFunction1()(我的 3 个 echo colFunction 中的第一个)
<html>
<head></head>
<body>
<?php
function tableFunction()
{
echo "<table border=1;>";
function rowFunction()
{
echo "<tr>";
function colFunction1($flavor1, $flavor2, $flavor3)
{
echo "<td>".flavor1."</td><td>".flavor2."</td><td>".flavor3."</td>";
}
echo "</tr>";
echo "<tr>";
function colFunction2($dessert1, $dessert2, $dessert3)
{
echo "<td>".dessert1."</td><td>".dessert2."</td><td>".dessert3."</td>";
}
echo "</tr>";
echo "<tr>";
function colFunction3($temp, $temp2, $temp3)
{
echo "<td>".temp1."</td><td>".temp2."</td><td>".temp3."</td>";
}
echo "</tr>";
}
echo "</table>";
}
echo colFunction1("chocolate", "apple", "vanilla");
echo colFunction2("Lava Cake", "Cheesecake", "Cream Puffs");
echo colFunction3("hot", "cold", "cold");
?>
</body>
</html>
好吧,我玩弄了它并"认为"我想通了(以防其他人和我一样困惑)。
我创建了一个行函数来创建另一行。我创建了列函数来获取三个函数输入。然后,我创建了表以创建一个可以自行调用的表。我想我不只是按原样打印出回声,但我不这么认为。 如果我错了,请有人指出来。
<html>
<head></head>
<body>
<?php
function trFunction()
{
echo"<tr>";
echo"</tr>";
}
function tdFunction($flavor1, $flavor2, $flavor3)
{
echo"<td>".$flavor1."</td>";
echo"<td>".$flavor2."</td>";
echo"<td>".$flavor3."</td>";
}
function tableFunction()
{
echo "<table width=400px border=5px cellpadding=3px td style=text-align:center;>";
echo trFunction();
echo tdFunction("Chocolate", "Strawberry","Vanilla" );
echo trFunction();
echo tdFunction("Molten Lava Cake", "Cheesecake", "Cream Puffs");
echo trFunction();
echo tdFunction("Hot","Cold","Cold");
echo "</table>";
}
echo tableFunction();
?>
</body>
</html>
我玩弄了它并"认为"我想通了(以防其他人像我一样困惑)。
我创建了一个行函数来创建另一行。我创建了列函数来获取三个函数输入。然后,我创建了表以创建一个可以自行调用的表。我想我不只是按原样打印出回声,但我不这么认为。 如果我错了,请有人指出来。
<html>
<head></head>
<body>
<?php
function trFunction()
{
echo"<tr>";
echo"</tr>";
}
function tdFunction($flavor1, $flavor2, $flavor3)
{
echo"<td>".$flavor1."</td>";
echo"<td>".$flavor2."</td>";
echo"<td>".$flavor3."</td>";
}
function tableFunction()
{
echo "<table width=400px border=5px cellpadding=3px td style=text-align:center;>";
echo trFunction();
echo tdFunction("Chocolate", "Strawberry","Vanilla" );
echo trFunction();
echo tdFunction("Molten Lava Cake", "Cheesecake", "Cream Puffs");
echo trFunction();
echo tdFunction("Hot","Cold","Cold");
echo "</table>";
}
echo tableFunction();
?>
</body>
</html>
你没有任何表格行echo"<tr><td>".$temp1."</td><td>".$temp2."</td></tr>"
会给你一个 2 列的行。
您忘记了标签"(打开行)和"(关闭行)。
一个想法。您有冗余代码。而不是三个函数用于同一事物,您可以使用这样的函数:
function printRow($val1, $val2, $val3)
{
echo '<tr>';
echo '<td>'.$val1.'</td><td>'.$val2.'</td><td>'.$val3.'</td>';
echo '</tr>';
}
echo "<table border=1 style='width:100%;'>";
printRow("chocolate", "apple", "vanilla");
// etc.
echo "</table>";
甚至更好的循环:
function printRow($values = array())
{
$s = '<tr>';
foreach($values as $value)
{
$s.= '<td>'.$value.'</td>';
}
$s.= '</tr>';
return $s;
}
$valuesToShow[] = array("chocolate", "apple", "vanilla");
$valuesToShow[] = array("Lava Cake", "Cheesecake", "Cream Puffs");
$valuesToShow[] = array("hot", "cold", "cold");
//create table:
echo "<table border=1 style='width:100%;'>";
foreach($valuesToShowas as $value)
{
echo printRow($value);
}
echo "</table>";