回显多个变量,每个变量之间有一个空格进入echo'd表格单元格

时间:2013-02-17 10:42:41

标签: php echo

 <?php if(isset($_SESSION['guest2First']))
echo '<tr><td>';
echo '<input type="text" name="guest2Ticket" id="guest2Ticket" onblur="isTicketNumber(this)"  size ="22"/>';
echo '</td><td>';
echo $first["guest2First"] , ' ', $middle["guest2Middle"] , ' ',$last["guest2Last"];
echo '</td></tr>'?>

我有一个使用$ _SESSION变量的表单,使用上面的代码填充一些内容。

我需要做的是

  1. 检查是否设置了变量
  2. 如果它回显出包含两个单元格的新表格行
  3. 在第一个单元格中输出一个输入框
  4. 在第二个单元格中回显3个变量,每个变量之间有一个空格
  5. 除了数字4之外,一切似乎都能正常工作。没有任何内容可以回到第二个单元格中。

    我确定

    echo $first["guest2First"] , ' ', $middle["guest2Middle"] , ' ',$last["guest2Last"];
    

    是问题所在。 如何修复此语法以达到我想要的效果?

2 个答案:

答案 0 :(得分:1)

有几个更好的语法选项:

<?php if(isset($_SESSION['guest2First'])){

$name = $_SESSION["guest2First"].
        (isset($_SESSION["guest2Middle"])?' '.$_SESSION["guest2Middle"]:null).
        (isset($_SESSION["guest2Last"])?' '.$_SESSION["guest2Last"]:null);
?>
<tr>
    <td><input type="text" name="guest2Ticket" id="guest2Ticket" onblur="isTicketNumber(this);" size ="22"/></td>
    <td><?php echo $name;?></td>
</tr>
<?php }?>

或者

<?php 
if(isset($_SESSION['guest2First'])){
    echo '<tr>',
         '<td><input type="text" name="guest2Ticket" id="guest2Ticket" onblur="isTicketNumber(this);" size ="22"/></td>',
         '<td>'.$name.'</td>',
         '</tr>';
}
?>

答案 1 :(得分:1)

我认为你混合了var名称并且意味着$ _SESSION,而不是$ first,$ middle,$ last

<?php if(isset($_SESSION['guest2First']))
echo '<tr><td>';
echo '<input type="text" name="guest2Ticket" id="guest2Ticket" onblur="isTicketNumber(this)"  size ="22"/>';
echo '</td><td>';
echo $_SESSION["guest2First"] , ' ', $_SESSION["guest2Middle"] , ' ',$_SESSION["guest2Last"];
echo '</td></tr>'?>