2
有无阵列命名例如$data_debit_turnover
PHP从两个阵列(外的foreach)
Array
(
[0] => Array
(
[VatReturnRowNumberForDebitTurnover] => 63
[Total] => 0.00
)
[1] => Array
(
[VatReturnRowNumberForDebitTurnover] => 64
[Total] => 44.28
)
)
有HTML
需要像这样
<table><tr>
<td><strong>63</strong></td>
<td>0.00</td>
</tr><tr>
<td><strong>64</strong></td>
<td>44.28</td>
</tr></table>
起初用PHP foreach
试图获得相同的指数值,但在这种情况下,而不是一个表得到多个表[0], [1]
等
然后尝试
<td><strong>64</strong></td>
<td><?php
if($data_debit_turnover[1][VatReturnRowNumberForDebitTurnover] == '64'){
echo $data_debit_turnover[1][Total]. ' Total<br>';
}?>
</td>
,但问题是[1]
等。我不知道[]
数;可能是[1]
,可能是[30]
。
尝试过这样的事情
$resultVatReturnRowNumberForDebitTurnover = array();
$resultTotal = array();
foreach($data_debit_turnover as $i => $result){
$resultVatReturnRowNumberForDebitTurnover[] = $result[VatReturnRowNumberForDebitTurnover];
$resultTotal[] = $result[Total];
}
<td><strong>64</strong></td>
<td><?php
if (in_array('64', $resultVatReturnRowNumberForDebitTurnover)) {
echo $resultTotal[1];
}?>
</td>
同样的问题[1]
。如何从另一个数组中回显对应的(索引)值。
例如,如果64
是数组$resultVatReturnRowNumberForDebitTurnover
中的第二个值,则需要回显数组$resultTotal
中的第二个值。
可能还有其他方法。
请指教。
显示我做什么用foreach
<?php
foreach($data_debit_turnover as $i => $result){
?>
<table>
<tr>
<td><strong>63</strong></td>
<td>
<?php if($result[VatReturnRowNumberForDebitTurnover] = '63') {
echo $result[Total];
} ?>
</td>
</tr>
<tr>
<td><strong>64</strong></td>
<td>
<?php if($result[VatReturnRowNumberForDebitTurnover] = '64') {
echo $result[Total];
} ?>
</td>
</tr>
</table>
<?php
}
?>
更新感谢@ user2340218的建议得到一些解决方案。对于每个<td>
必须使用foreach
。可能有更好的解决方案。
<table><tr>
<td><strong>64</strong></td>
<td><?php foreach($data_debit_turnover as $vatReturn){if($vatReturn['VatReturnRowNumberForDebitTurnover'] == '64') {echo $vatReturn['Total'];}}?></td>
</tr><tr>
<td><strong>67</strong></td>
<td><?php foreach($data_debit_turnover as $vatReturn){if($vatReturn['VatReturnRowNumberForDebitTurnover'] == '67') {echo $vatReturn['Total'];}}?></td>
</tr></table>
解最后使用溶液@Daniel P劝。
$resultVatReturnRowNumberForDebitTurnover = array();
$resultTotal = array();
foreach($data_debit_turnover as $i => $result){
$resultVatReturnRowNumberForDebitTurnover[] = $result[VatReturnRowNumberForDebitTurnover];
$resultTotal[] = $result[Total];
}
$VatReturnRowNumberForDebitTurnoverModified = array_combine($resultVatReturnRowNumberForDebitTurnover, $resultTotal);
<table>
<tr>
<td><strong>62</strong></td>
<td>
<?php echo $VatReturnRowNumberForDebitTurnoverModified[62]; ?>
</td>
</tr>
<tr>
<td><strong>63</strong></td>
<td>
<?php echo $VatReturnRowNumberForDebitTurnoverModified[63]; ?>
</td>
</tr>
</table>
其实不得不接受@Daniel P答案:)但由于理解不能接受2个回答
显示'foreach'代码 –
接着说:foreach'底。获得如此多的表格以及'array'键的数量。但只需要一张表 – user2465936
然后将'
回答
你的意思呢?
来源
2013-07-27 14:05:27 ahPo
这是一个问题? – Oswald
是的....看起来很有效。不要以为只有'
根据您的建议获得一些解决方案(更新后发布问题)。可能有一些更好的解决方案...... – user2465936
使用
foreach
这样的:来源
2013-07-27 14:06:29
我猜测
VatReturnRowNumberForDebitTurnover
号码是唯一的,这样你的阵列应该是这样的:的数组索引是你的
VatReturnRowNumberForDebitTurnover
和价值就是你的总数。测试是否
VatReturnRowNumberForDebitTurnover
有值你只需使用isset()
构建表:
来源
2013-07-27 14:14:37
据我所知,我需要将'VatReturnRowNumberForDebitTurnover'转换为'[63] [64]'等。然后在必要的''必须使用'if(isset($ array [63] )){echo $ array [63]}'?没有“foreach”?这将是更好的解决方案。我会查的。数字63,64等需要“手写”而不是脚本。而不是'<?php echo $ i; ''需要“不可更改”数字:63,64,67等 – user2465936
以这种方式将数据放入数组中的优点是,您不必每次都用'foreach()'遍历整个数组想要查看价值。请注意'VatReturnRowNumberForDebitTurnover'必须是唯一的(我猜是这种情况)。你可以用'if(isset($ array [63]))'查找单个值,或者用'foreach()显示整个内容' –
将检查所有内容。我想我可以修改'VatReturnRowNumberForDebitTurnover'是唯一的。是的,'(isset($ array []))'会更好 – user2465936
相关问题