我有这个while语句从数组中提取信息。我只希望它列出条目,如果其中一个数组项$history_type
不等于“费用”。
这是我到目前为止所拥有的
$i = 0;
while ($i <= 9):
$history_date = $history[result][$i][Date];
$history_date_format = gmdate("m-d-y", $history_date);
$history_type = $history[result][$i][Type];
if($history_type == 'spent'):
$history_type = 'Buy';
elseif($history_type == 'earned'):
$history_type = 'Sold';
elseif ($history_type == 'fee'):
$history_type = 'Fee';
else:
$history_type = 'Error';
endif;
$history_usd = $history[result][$i][Balance][value];
$history_btc = $history[result][$i][Trade][Amount][value];
$history_amt = $history[result][$i][Value][value];
$history_rate = round($history_amt / $history_btc,2);
echo '<tr><td>'.$history_type.'</td><td>'.$history_rate.'</td><td>'.$history_amt.'</td><td>'.$history_usd.'</td><td>'.$history_btc.'</td><td>'.$history_date_format.'</td></tr>';
$i++;
endwhile;
答案 0 :(得分:2)
定义$ history_type后添加一行:
if($history_type == 'fee') continue;
continue;
语句在步骤结束时移动到当前结束。
PS。您可能希望将$i++
移到该语句的顶部,因为它也会被跳过。
答案 1 :(得分:0)
替换你的:
echo '<tr><td>'.$history_type.'</td><td>'.$history_rate.'</td><td>'.$history_amt.'</td><td>'.$history_usd.'</td><td>'.$history_btc.'</td><td>'.$history_date_format.'</td></tr>';
使用:
if($history_type != 'Fee'):
echo '<tr><td>'.$history_type.'</td><td>'.$history_rate.'</td><td>'.$history_amt.'</td><td>'.$history_usd.'</td><td>'.$history_btc.'</td><td>'.$history_date_format.'</td></tr>';
endif;
这就是说,在这个循环迭代中,如果$ history_type不等于'Fee'那么echo'.....'