2012-08-22 114 views
0

我需要將陣列$form->data中的鍵'pasdiz_alus'的特定值顯示到表格單元格中。而且我只有在鍵'pasdiz_alus'的值大於'0'時才需要顯示這個表格行。僅顯示陣列的特定值

此代碼位於下方,但問題在於輸出還顯示了我的表格行上方的鍵'pasdiz_alus'的值,並且它顯示的次數與數組的鍵數相同。

我該如何擺脫「'pasdiz_alus'」數組鍵值(在我的例子中是29次 - 數組中有29個鍵)的顯示值?「?在這種情況下,它是:5454545454545454 ......

我的代碼是:

<table style="width: 800px;"> 
<tbody> 
<?php 
if ($form->data['pasdiz_alus'] > 0){ 
    echo '<tr><td style="width: 100px;">Bilde šeit</td><td style="width: 500px;"> <strong>Pašdizainēts alus</strong></td>'; 

foreach($form->data as $key => $value) { 
    if($key === 'pasdiz_alus') 
    echo '<td style="width: 100px;">'; 
      echo $form->data['pasdiz_alus']; 
     echo '</td>'; 
    } 
     echo '<td style="width: 100px;">Cena šeit</td></tr>'; 
} 
?> 
</tbody> 
</table> 

這是輸出顯示,在這種情況下'pasdiz_alus'值爲54 第一行是「錯」的我需要擺脫,第二行是「正確的」。

5454545454545454545454545454545454545454545454545454545454 
Bilde šeit  Pašdizainēts alus  54  Cena šeit 

感謝您的幫助! Brgds,Raivis

+3

我沒有看到任何錯誤,尤其是您已發佈的代碼。也許它早些發生? –

+1

同意傑克。做一個print_r($ form-> data)然後粘貼它。 – psynnott

+1

這是整個文件嗎?好像沒有註釋回顯或打印。 – bhups

回答

4

在你的腳本的問題是在這裏:

if($key === 'pasdiz_alus') // <-- missing opening "{" 
    echo '<td style="width: 100px;">'; // <-- inside the "if" 
    echo $form->data['pasdiz_alus']; // <-- OUTSIDE the "if" 
    echo '</td>'; // <-- OUTSIDE the "if" 
} // <-- this matches the foreach "{" 

你爲什麼週期所有的數組鍵,而不是直接訪問它?

<table style="width: 800px;"> 
    <tbody> 
    <?php if ($form->data['pasdiz_alus'] > 0) { ?> 
     <tr> 
      <td style="width: 100px;">Bilde šeit</td> 
      <td style="width: 500px;"><strong>Pašdizainēts alus</strong></td> 
      <td style="width: 100px;"><?=$form->data['pasdiz_alus']?></td> 
      <td style="width: 100px;">Cena šeit</td> 
     </tr> 
    <?php } ?> 
    </tbody> 
</table> 

這應該解決您的問題,但我也建議你甚至打開表前移動if部分:

<?php if ($form->data['pasdiz_alus'] > 0) { ?> 
<table style="width: 800px;"> 
    <tbody> 
     <tr> 
      <td style="width: 100px;">Bilde šeit</td> 
      <td style="width: 500px;"><strong>Pašdizainēts alus</strong></td> 
      <td style="width: 100px;"><?=$form->data['pasdiz_alus']?></td> 
      <td style="width: 100px;">Cena šeit</td> 
     </tr> 
    </tbody> 
</table> 
<?php } ?> 
+0

斑點!沒有看到,缺少捲曲 – psynnott

+0

謝謝@Matteo Tassinari它現在的作品!謝謝你的解釋,我明白了。 – raivis

+0

很高興我可以幫忙=) –

0
foreach($array as $k => $v) 
{ 
    if($k == 'pasdiz_alus' && $v > 0) 
    { 
    echo $v; 
    } 
} 

你需要另外你如果要確保其唯一打印如果它是正確的關鍵和更大的0