2012-06-24 80 views
2

我需要將不同的表標記代碼作爲字符串存儲在php數組中。一些需要存儲在數組中的代碼需要使用if語句進行測試。在我知道我需要一些需要以這種方式進行測試的代碼之前,一切工作都完美無瑕,但現在我知道存儲的字符串是基於'if語句',我不知道如何對其進行編碼。因爲我需要結束當前插槽的標記以插入php條件語句。因此,我無法繼續將數據存儲在「當前」槽中,這正是我所需要的。根據if語句條件分配字符串數組內容

我一直在努力尋找解決方法一個多小時了,我感謝任何幫助。

$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.... 

回答

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; 
+0

智能工作圍繞:)我會試試看... – AnchovyLegend

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.... 
+0

好,我似乎無法修復格式,但你應該能夠理解我所說的要點...... – C0deH4cker

1

您可以連接文本或指令內聯:

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

(condition?true:false)語法確實奇蹟;)