我想在我的PHP代码中包含一个if
语句,用于呈现HTML表格。输出也应该在表格行中。
echo '<table style="border:1px solid red;">',
'<tr align="center" ><td><div class="item-font1">', $mounts['name'], '</div></td>
</tr>',
if ($itembind == 1) {
echo '<tr align="center" ><td><div class="item-font1">Text1</div></td>
</tr>',
} elseif ($itembind== 2) {
echo '<tr align="center" ><td><div class="item-font1">Text2</div></td>
</tr>',
echo "\t";
}
'<tr align="center" ><td><div class="item-font1">', $mounts['name'], '</div></td>
</tr>
</table>';
?>
我试过这样,但有一些错误。
答案 0 :(得分:4)
使用echo,字符串可以用逗号分隔(即,
)。但是,当需要其他逻辑时,必须终止echo语句。使用分号(即;
)。
echo '<table style="border:1px solid red;">',
'<tr align="center" ><td><div class="item-font1">', $mounts['name'],
'</div></td>
</tr>'; //use a semi-colon here to end the call to echo
if ($itembind == 1) {
与在C或Perl中一样,PHP要求在每个语句结尾处以分号结束指令。 PHP代码块的结束标记自动表示分号;你不需要一个分号来终止PHP块的最后一行。 1
虽然将多个字符串传递给echo是可以接受的,但字符串可以连接成一个。为此,请使用dot operator。
所以更新这一行(开头缺少echo
):
'<tr align="center" ><td><div class="item-font1">', $mounts['name'], '</div>
</td></tr></table>';
到
echo '<tr align="center" ><td><div class="item-font1">'. $mounts['name']. '</div>
</td></tr></table>';
最终输出:
<?php
$mounts = ['name'=>'cat'];
$itembind = 1;
echo '<table style="border:1px solid red;">',
'<tr align="center" ><td><div class="item-font1">', $mounts['name'], '</div></td>
</tr>';
if ($itembind == 1) {
echo '<tr align="center" ><td><div class="item-font1">Text1</div></td>
</tr>';
} elseif ($itembind== 2) {
echo '<tr align="center" ><td><div class="item-font1">Text2</div></td>
</tr>';
echo "\t";
}
echo '<tr align="center" ><td><div class="item-font1">', $mounts['name'], '</div></td>
</tr>
</table>';
?>
查看更新代码in this playground example的演示。
1 <子> http://php.net/manual/en/language.basic-syntax.instruction-separation.php 子>
答案 1 :(得分:1)
连接时使用.
运算符。您正在使用逗号,
运算符。查看您的代码: -
echo '<table style="border:1px solid red;">','<tr align="center" ><td><div class="item-font1">', $mounts['name'], '</div></td></tr>',
应该是
echo '<table style="border:1px solid red;">'.'<tr align="center" ><td><div class="item-font1">'. $mounts['name']. '</div></td></tr>'.
和其他代码相同。
答案 2 :(得分:1)
你的语法错了。您应该使用.
来连接字符串,使用;
来终止行。
您也可以使用双引号("
),PHP将解析查找变量的字符串。例如:
$myvar = 'example';
$singleQuote = 'This is an ' . $myvar;
$doubleQuote = "This is an {$myvar}";
当你打算使用变量时,我通常会发现双引号字符串更容易。
echo '<table style="border:1px solid red;">';
echo '<tr align="center"><td><div class="item-font1">' . $mounts['name'] . '</div></td></tr>';
if ($itembind == 1) {
echo '<tr align="center" ><td><div class="item-font1">Text1</div></td></tr>';
} elseif ($itembind== 2) {
echo '<tr align="center" ><td><div class="item-font1">Text2</div></td></tr>';
echo "\t";
}
'<tr align="center" ><td><div class="item-font1">' . $mounts['name'] . '</div></td></tr></table>';
答案 3 :(得分:1)
最好在插入的值上创建条件语句,但这样做的方式如下:
echo '<table style="border:1px solid red;">',
'<tr align="center" ><td><div class="item-font1">'. $mounts['name']. '</div></td>
</tr>';
if ($itembind == 1) {
echo '<tr align="center" ><td><div class="item-font1">Text1</div></td>
</tr>';
} elseif ($itembind== 2) {
echo '<tr align="center" ><td><div class="item-font1">Text2</div></td></tr>';
} else {
echo "\t";
}
echo '<tr align="center" ><td><div class="item-font1">'. $mounts['name']. '</div></td>
</tr>
</table>';
在发布此处之前练习一两个教程并不是一个坏主意。
一些新人不会意识到的是,你可以将html拉出php一点点。同样的事情可以写成:
<?php
if ($itembind == 1) $text = 'text1';
elseif ($itembind== 2) $text = 'text2';
if(isset($text)){
$row = '<tr align="center" >
<td>
<div class="item-font1">'.$text.</div>
</td>
</tr>
} else {
$row = '';
}
?>
<table style="border:1px solid red;">
<tr align="center">
<td>
<div class="item-font1"><?=$mounts['name']?></div>
</td>
</tr>
<?=$row?>
<tr align="center" >
<td>
<div class="item-font1">'<?=$mounts['name']?></div>
</td>
</tr>
</table>
答案 4 :(得分:1)
您使用,
代替.
。还需要在;
结束时添加echo
。
<?php
$mounts['name'] = 'yyy';
$itembind = 1;
echo '<table style="border:1px solid red;">',
'<tr align="center" ><td><div class="item-font1">'. $mounts['name']. '</div></td>
</tr>';
if ($itembind == 1) {
echo '<tr align="center" ><td><div class="item-font1">Text1</div></td>
</tr>';
} elseif ($itembind== 2) {
echo '<tr align="center" ><td><div class="item-font1">Text2</div></td>
</tr>';
echo "\t";
}
'<tr align="center" ><td><div class="item-font1">'.$mounts['name'].'</div></td>
</tr>
</table>';
?>
答案 5 :(得分:0)
$output = "<table style=\"border:1px solid red;\">";
$output .= "<tr align=\"center\"><td><div class=\"item-font1\">";
$output .= $mounts['name'];
$output .= "</div></td>";
$output .= "</tr>";
if ($itembind == 1) {
$output .= "<tr align=\"center\"><td><div class=\"item-font1\">Text1</div></td></tr>";
} else if ($itembind== 2) {
$output .= "<tr align=\"center\"><td><div class=\"item-font1\">Text2</div></td></tr>\t";
}
$output .= "<tr align=\"center\"><td><div class=\"item-font1\">";
$output .= $mounts['name'];
$output .= "</div></td></tr>";
$output .= "</table>";
echo $output;
答案 6 :(得分:0)
PHP中不需要写表。它会使代码变得复杂。试试这个:
<?php if(condition) { ?>
<tr> <td>some content</td></tr>
<?php } elseif(condition) { ?>
<tr><td>some content</td></tr>
<?php } else { ?>
<tr><td>some content</td></tr>
<?php } ?>