1
 <table width="503" height="278" border="1">
        <tr align="center" valign="middle">
            <td height="34" align="center" valign="middle" id="side"><strong>TEST</strong></td>
            <td align="center" valign="middle"><strong>METHOD</strong></td>
            <td align="center" valign="middle"><strong>COMPEDIA</strong></td>
            <td align="center" valign="middle"><strong>SPECIFICATION</strong></td>
            <td align="center" valign="middle"><strong>DETERMINED</strong></td>
            <td align="center" valign="middle" id="side"><strong>REMARKS</strong></td>
        </tr>
         <?php foreach ($tests_requested_display2 as $value2)  ?><!--has values to populate the compedia and specification cells of the table-->
        <?php foreach ($tests_requested_display as $value) : ?> <!-- creates 3 dynamic rows-->
            <tr>
                <td height="56" align="center" valign="middle" id="side"><?php echo $value->name ?></td>
                <td align="center" valign="middle">Weight</td>
                <td align="center" valign="middle"><textarea name="compedia[]" cols="10" ><?php echo @$value2->compedia;?></textarea></td>
                <td align="center" valign="middle"><textarea name="specification[]" cols="10"><?php echo @$value2->specification;?></textarea></td>
                <td align="center" valign="middle">None Deviate</td>
                <td align="center" valign="middle" id="side">COMPLIES</td>
            </tr>
        <?php endforeach; ?>

    </table>

第一个 foreach 数组$value 包含 3 个值,这些值创建了一个如上定义但具有 3 行和 6 列的表。我有第二个 foreach 数组 $value2 具有用于填充 compedia 和规范列的数据,如果我 echo $value2->compediaand $value->specification,它只返回数组中六个值中的最后一个值,如果我添加与$value数组相同的 end foreach ,它返回一个奇怪的结果。我错过了什么?

更多信息:

print_r($tests_requested_display)返回:

Array ( [0] => stdClass Object ( [name] => Dissolution ) [1] => stdClass Object ( [name] => Assay ) [2] => stdClass Object ( [name] => Uniformity of Weight ) ) Array ( [0] => stdClass Object ( [name] => Dissolution ) [1] => stdClass Object ( [name] => Assay ) [2] => stdClass Object ( [name] => Uniformity of Weight ) ) Array ( [0] => stdClass Object ( [name] => Dissolution ) [1] => stdClass Object ( [name] => Assay ) [2] => stdClass Object ( [name] => Uniformity of Weight ) ) 

print_r($tests_requested_display2)返回:

Array ( [0] => stdClass Object ( [name] => Assay [compedia] => Caps [specification] => Tabs ) [1] => stdClass Object ( [name] => Dissolution [compedia] => Tabs [specification] => Caps ) [2] => stdClass Object ( [name] => Uniformity of Weight [compedia] => TabsCaps [specification] => CapsTabs ) ) Array ( [0] => stdClass Object ( [name] => Assay [compedia] => Caps [specification] => Tabs ) [1] => stdClass Object ( [name] => Dissolution [compedia] => Tabs [specification] => Caps ) [2] => stdClass Object ( [name] => Uniformity of Weight [compedia] => TabsCaps [specification] => CapsTabs ) ) Array ( [0] => stdClass Object ( [name] => Assay [compedia] => Caps [specification] => Tabs ) [1] => stdClass Object ( [name] => Dissolution [compedia] => Tabs [specification] => Caps ) [2] => stdClass Object ( [name] => Uniformity of Weight [compedia] => TabsCaps [specification] => CapsTabs ) ) 

我期望的结果作为一个例子:

<table width="503" height="278" border="1">
        <tr align="center" valign="middle">
            <td height="34" align="center" valign="middle" id="side"><strong>TEST</strong></td>
            <td align="center" valign="middle"><strong>METHOD</strong></td>
            <td align="center" valign="middle"><strong>COMPEDIA</strong></td>
            <td align="center" valign="middle"><strong>SPECIFICATION</strong></td>
            <td align="center" valign="middle"><strong>DETERMINED</strong></td>
            <td align="center" valign="middle" id="side"><strong>REMARKS</strong></td>
        </tr>

        <tr>
            <td height="56" align="center" valign="middle" id="side">Assay</td>            
            <td align="center" valign="middle">Weight</td>
            <td align="center" valign="middle"><textarea name="compedia[]" cols="10">Caps</textarea></td>
            <td align="center" valign="middle"><textarea name="specification[]" cols="10">Tabs</textarea></td>
            <td align="center" valign="middle">None Deviate</td>
            <td align="center" valign="middle" id="side">COMPLIES</td>
        </tr>
           <tr>
            <td height="56" align="center" valign="middle" id="side">Dissolution</td>            
            <td align="center" valign="middle">Weight</td>
            <td align="center" valign="middle"><textarea name="compedia[]" cols="10">TabsCaps</textarea></td>
            <td align="center" valign="middle"><textarea name="specification[]" cols="10">CapsTabs</textarea></td>
            <td align="center" valign="middle">None Deviate</td>
            <td align="center" valign="middle" id="side">COMPLIES</td>
        </tr>
           <tr>
            <td height="56" align="center" valign="middle" id="side">Uniformity</td>            
            <td align="center" valign="middle">Weight</td>
            <td align="center" valign="middle"><textarea name="compedia[]" cols="10">Tabs</textarea></td>
            <td align="center" valign="middle"><textarea name="specification[]" cols="10">Caps</textarea></td>
            <td align="center" valign="middle">None Deviate</td>
            <td align="center" valign="middle" id="side">COMPLIES</td>
        </tr>

    </table>
4

1 回答 1

0

所以语法对我来说有点怀疑,但请记住,我对 PHP 很陌生,所以它可能没问题。但是,这里有一个修改后的代码版本,应该可以为您解决问题:

<?php foreach ($tests_requested_display2 as $value2) { ?>
    <?php foreach ($tests_requested_display as $value) { ?>
        <tr>
            <td height="56" align="center" valign="middle" id="side"><?=$value->name?></td>
            <td align="center" valign="middle">Weight</td>
            <td align="center" valign="middle"><textarea name="compedia[]" cols="10" ><?=@$value2->compedia?></textarea></td>
            <td align="center" valign="middle"><textarea name="specification[]" cols="10"><?=@$value2->specification?></textarea></td>
            <td align="center" valign="middle">None Deviate</td>
            <td align="center" valign="middle" id="side">COMPLIES</td>
        </tr>
    <?php } ?>
<?php } ?>

但它仍然不能解决这个问题:

如果我回显 $value2->compedia 和 $value->specification,它只返回数组中六个值中的最后一个值

因为在迭代内部列表的所有三个值之前,不会迭代该列表。所以从这个角度来看,你可以交换循环,你会得到三组六行,或者你可以包装td标签并为你想要的六个值构建正确的字符串值。根本不清楚你真正期望它做什么。

于 2013-05-20T16:45:31.873 回答