我使用循环条件得到这些结果集,并输出以下内容:
| 50,000 |
| 50,000 |
| 50,000 |
| 100,000 |
| 100,000 |
| 300,000 |
| 300,000 |
我想要发生的是将后续数字更改为零(0),仅显示如下的唯一值:
| 50,000 |
| 0 |
| 0 |
| 100,000 |
| 0 |
| 300,000 |
| 0 |
如何使用if else语句实现这一目标?
以下是生成结果的代码:
<tbody>
<?php foreach ($borrower_details['borrower_ledger']->result_array() as $ledger) { ?>
<tr>
<td>
<?php
$query2 = $this->db->query("SELECT * FROM " .tbl_loan_master." WHERE id = ".$ledger['loanmaster_id']." AND deleted = 0");
$loan_bal = $query2->row()->loan;
echo $loan_bal;
?>
</td>
</tr>
<?php } ?>
</tbody>
答案 0 :(得分:1)
从上下文中不清楚,因此可能需要放置零而不是重复非唯一值,但也许array_unique
可以帮助您?
详细阐述了答案:
如果您只想从值列表中收集所有唯一值 - 只需使用array_unique
:a)在回显之前收集所有贷款值; 2)使用foreach (array_unique($loan_values) as $loan_value) ...
如果要保留重复值,但要用零替换它们,请使用其他数组来存储唯一值,并相应地echo
:a)在{{$uniqueValues = [];
之前添加foreach
1}}; b)在回显$loan_bal
之前添加以下逻辑:
if(in_array($ loan_bal,$ uniqueValues)){ $ loan_bal = 0; } 其他{ $ uniqueValues [] = $ loan_bal; } echo $ loan_bal;
很抱歉代码格式不佳,降价失败了。