2

異なるテーブル マークアップ コードを php 配列に文字列として格納する必要があります。配列に格納する必要があるコードの一部は、if ステートメントを使用してテストする必要があります。コードの一部をそのような方法でテストする必要があることを知る前は、すべてが問題なく機能していましたが、保存されている文字列が「if ステートメント」に基づいていることがわかったので、コーディング方法がわかりません。PHP 条件ステートメントを挿入するには、現在のスロットのマークアップを終了する必要があるためです。その結果、必要な「現在の」スロットにデータを保存し続けることができません。

私は今、1時間以上回避策を見つけようとしてきました。これに関する助けに感謝します。

$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

次の 2 つのオプションがあります。

オプション 1: 連結を使用して文字列を追加します。

  $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 に答える