我有一系列变量,我想检查它们是否为 0,如果是,我希望重新定义变量以等于字符串“不可用”。
为此,我编写了一个循环:
$indicators=array($admitted, $targeted, $cured, $defaulted, $total);
foreach($indicators as $indicator)
{
if($indicator==0)
{
$indicator='Unavailable';
}
}
这将检查数组 $indicators 中的每个变量是否等于零,如果是则重新定义它。
但是,在此循环关闭后,将使用以下变量构建一个表:
$table1 .= '
<tr>
<td>'.$year.'</td>
<td>'.$targeted.'</td>
<td>'.$admitted.'</td>
<td>'.$total.'</td>
<td>'.$cured.'</td>
<td>'.$defaulted.'</td>
</tr>
';
其输出包括一些“0”术语——它们永远不会替换字符串“不可用”。
我使用以下代码调试了代码:
foreach($indicators as $indicator)
{
echo 'Before: '.$indicator;
if($indicator==0)
{
$indicator='Unavailable';
}
echo '<br />';
echo 'After :'.$indicator;
}
并确认它正在重新定义变量,但重新定义并没有在循环之外应用。
我觉得这是范围的问题 - 我承认没有很好地理解。
我的问题是:如何让循环内定义的变量应用到循环外?
非常感谢您的想法。