只显示数组的特定值


display only specific value of array

我需要将数组$form->data中键'pasdiz_alus'的特定值显示到表单元格中。只有当关键字'pasdiz_alus'的值大于'0'时,我才需要显示该表行。

这方面的代码在下面,但问题是输出还在我的表行上方显示键'pasdiz_alus'的值,并且它在那里的显示次数与数组的键数一样多。

如何摆脱"'pasdiz_alus' x数组中键数的倍数(在我的情况下是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

脚本中的问题就在这里:

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 } ?>
foreach($array as $k => $v) 
{
  if($k == 'pasdiz_alus' && $v > 0) 
  {
    echo $v;
  }
}

您需要在if中添加该项,以确保只有当它是正确的键并且其更大的0 时才打印该项