2

我需要将不同的表标记代码作为字符串存储在 php 数组中。一些需要存储在数组中的代码需要使用 if 语句进行测试。在我知道我需要一些代码需要以这种方式进行测试之前,一切都完美无缺,但现在我知道存储的字符串是基于“if 语句”的,我不知道如何编码。因为我需要结束当前插槽的标记才能插入 php 条件语句。结果,我无法继续将数据存储在“当前”插槽中,这正是我所需要的。

我一直在尝试寻找解决方法一个多小时,感谢您对此提供的任何帮助。

$favorites[] = '
        <tr>
          <td><a href="#">'.$files_row['name'].'</a></td>
          <td><a href="#"><img class="table-button" src="images/smallglobe.png"></a></td>
          <td>
            <img src="images/e-mail-icon.PNG">';
                if(strcmp($_files_row['email'],'none') != 0){
                    $favorites[] = '<div style="display:none;"><a href="#" >'.$files_row['email'].'</a></div>';
                }
$favorites[]='        
         </td>
          <td class="table-button-cell">
            <img class="table-button" src="images/eicon.png">
            <div class="phonepopup" style="display:none;">Call: '.$files_row['phone'].'</div>
          </td>
          <td class="table-button-cell"> .... etc....
4

3 回答 3

2

在评估 if 语句后,尝试为当前槽使用临时变量并将其分配给数组。所以你可以连接必要的字符串:

$temp_var = '
    <tr>
      <td><a href="#">'.$files_row['name'].'</a></td>
      <td><a href="#"><img class="table-button" src="images/smallglobe.png"></a></td>
      <td>
        <img src="images/e-mail-icon.PNG">';
            if(strcmp($_files_row['email'],'none') != 0){
                $temp_var .= '<div style="display:none;"><a href="#" >'.$files_row['email'].'</a></div>';
            }
$temp_var .='        
     </td>
      <td class="table-button-cell">
        <img class="table-button" src="images/eicon.png">
        <div class="phonepopup" style="display:none;">Call: '.$files_row['phone'].'</div>
      </td>
      <td class="table-button-cell"> .... etc....';

$favorites[] = $temp_var;
于 2012-06-24T17:02:51.477 回答
1

您可以串联文本或内联指令:

$favorites[5] = 'I prefer '.($age > 18 ? : 'natural' : 'chocolate').' milk';

(condition?true:false)语法创造奇迹;)

于 2012-06-24T17:14:56.233 回答
0

你有两个选择:

选项一:使用连接附加字符串。

  $favorites[index] = '
    <tr>
        <td><a href="#">'.$files_row['name'].'</a></td>
        <td><a href="#"><img class="table-button" src="images/smallglobe.png"></a></td>
        <td>
            <img src="images/e-mail-icon.PNG">';
    if(strcmp($_files_row['email'],'none') != 0){
        $favorites[index] .= '<div style="display:none;"><a href="#" >'.$files_row['email'].'</a></div>';
    }
    $favorites[index] .= '        
         </td>
         <td class="table-button-cell">
             <img class="table-button" src="images/eicon.png">
             <div class="phonepopup" style="display:none;">Call: '.$files_row['phone'].'</div>
         </td>
         <td class="table-button-cell"> .... etc....

Option 2: Use PHP's ternary operator to do the conditional code inline.

    $favorites[index] = '
        <tr>
          <td><a href="#">'.$files_row['name'].'</a></td>
          <td><a href="#"><img class="table-button" src="images/smallglobe.png"></a></td>
          <td>
            <img src="images/e-mail-icon.PNG">' . ((strcmp($_files_row['email'],'none') != 0) ? '<div style="display:none;"><a href="#" >'.$files_row['email'].'</a></div>' : '') . '        
         </td>
          <td class="table-button-cell">
            <img class="table-button" src="images/eicon.png">
            <div class="phonepopup" style="display:none;">Call: '.$files_row['phone'].'</div>
          </td>
          <td class="table-button-cell"> .... etc....
于 2012-06-24T17:11:16.313 回答