【问题标题】:How to print <td> table before conditional switch php in the loop如何在循环中条件切换php之前打印<td>表
【发布时间】:2018-02-24 23:02:46
【问题描述】:

我有表格,表格有我字段的调用值的循环...

问题是每次我在&lt;td&gt;php switch 上设置条件并且每次值为空&lt;td&gt; 是隐藏并且我的表变形和拆卸 我怎样才能打印&lt;td&gt;&lt;/td&gt; 并且每次值都不为空时打印值?

   <tr>
 <?php foreach($rows as $array_value) {


    switch ($array_value['value']) {

        case "1": print '<td>one</td>'; break;  
        case "2": print '<td>two</td>'; break;
        case "3": print '<td>three</td>'; break;
        case "4": print '<td>four</td>'; break;
        case "5": print '<td>five</td>'; break;
        case "6": print '<td>six</td>'; break;

    }

} ?>

</tr>

更新

问题是 每次值为空,单元格输入错误的值!

【问题讨论】:

标签: php loops html-table


【解决方案1】:

您可以在您的 switch 语句中添加 default 以捕获除定义的情况之外的任何其他情况:

switch ($array_value['value']) {

    case "1": print '<td>one</td>'; break;  
    case "2": print '<td>two</td>'; break;
    case "3": print '<td>three</td>'; break;
    case "4": print '<td>four</td>'; break;
    case "5": print '<td>five</td>'; break;
    case "6": print '<td>six</td>'; break;
    default: print '<td>empty</td>'; break;

}

这样一来,您就可以得到一个空值(以及任何其他值)。

【讨论】:

    【解决方案2】:

    使用“默认”情况:

     <?php foreach($rows as $array_value) {
    
         switch ($array_value['value']) {
    
            case "1": print '<td>one</td>'; break;  
            case "2": print '<td>two</td>'; break;
            case "3": print '<td>three</td>'; break;
            case "4": print '<td>four</td>'; break;
            case "5": print '<td>five</td>'; break;
            case "6": print '<td>six</td>'; break;
            default: print '<td></td>';// Add this line
    
        }
    
    
    } ?>
    
    </tr>
    

    当您省略default 值并且switch 得到一个不匹配任何大小写的值时,则tr 内部没有td,并且表格变形。 default 在没有 case 语句为真时有效。

    【讨论】:

    • 您还有其他建议吗?我可以使用 IF 吗?
    • @BijanZand,你想在哪里使用if?先好好想想switch 声明。在每个case 语句之后都有一个break。这意味着如果任何 case 语句为真,则下一个 case 语句将不会因为 break 而执行。但如果你也有default,那么如果没有case 语句为真,default 将执行。
    • 我的问题是一些空的,替换了错误的值并且空标签不能正确呈现!
    • 你说的不清楚。如果没有case 语句为真,那么你想在tr 中显示什么?
    • 我想如果值为空 none 打印在单元格上
    【解决方案3】:

    如果我理解正确的话,

     <?php foreach($rows as $array_value) {
    
    
        switch ($array_value['value']) {
    
            case "1": print '<td>one</td>'; break;  
            case "2": print '<td>two</td>'; break;
            case "3": print '<td>three</td>'; break;
            case "4": print '<td>four</td>'; break;
            case "5": print '<td>five</td>'; break;
            case "6": print '<td>six</td>'; break;
            default: print '<td></td>'; break;
        }
    
    } ?>
    

    【讨论】:

      猜你喜欢
      相关资源
      最近更新 更多
      热门标签