我需要修复现有代码,仅当值0,1和2相同但我无法到达时才能写入值。例如,我用魔杖在第一种情况下看到元素(1 = 1 = 1),而不是在第二种情况下(2!1 = 1)。$plist=array( array('100% CSB','75% CSB','Sans CSB','MSN 100%CSB','MSN sans CSB'), array(1,1,1,10.4,9.09,), array(2,1,1,20.4,17.84,), array(2,2,1,21.7,18.97,), array(2,2,2,31.4,27.89,), array(3,2,2,40.5,36.31,), array(3,3,2,42.8,38.44,), array(3,3,3,52.2,47.09,), array(4,3,3,60.7,54.78,), array(4,4,3,64,57.77,), array(4,4,4,73.3,66.18,), array(5,4,4,81,73.15,), array(5,5,4,85.2,77.01,), array(5,5,5,94.2,85.45,), array(6,5,5,101.2,92.01,), array(6,6,5,106.1,96.6,) ); $cnt=0; foreach ($plist as $pligne) { $cnt++; if ($cnt==19) { echo '</table></td><td bgcolor="#ffffff"> </td><td valign="top">'; echo '<table border="0" cellspacing="0" cellpadding="0" class="hoverTable"><tr>'; foreach($plist[0] as $ke) { echo '<td align="right">'.$ke.' </td>'; } echo '</tr>'; } $minu=floatval($pligne[3])-(floatval($pligne[3])-floatval($pligne[4]))*0.25; echo '<tr onmouseover="document.form.abc.value='.$pligne[3].'; document.form.scsb.value='.$pligne[4].'; document.form.min.value='.round($minu,2).'; " onclick="allid.listeplex.style.display=\'none\'; allid.affplex.style.display=\'block\';"" >'; foreach($pligne as $ke) { echo '<td align="right">'.$ke.' </td>'; } echo '</tr>'; }我的第一个想法是这样的:if($plist[$cnt][0]===$plist[$cnt][1] AND $plist[$cnt][0]===$plist[$cnt][1] AND $plist[$cnt][0]===$plist[$cnt][1]){}但它不起作用(不是在哪里放置它或使用哪个变量名称)
1 回答
Qyouu
TA贡献1786条经验 获得超11个赞
检查 1st 等于 2nd,1st 等于 3rd。
使用内部此条件:foreach ($plist as $pligne) {
if ($pligne[0] === $pligne[1] && $pligne[0] === $pligne[2]) {
您无需在代码段中手动递增,可以在循环中声明并省略手动递增步骤 ()。$cnt
$cnt
foreach()
$cnt++;
foreach ($plist as $cnt => $pligne) {
如果需要无条件地允许数组中的第一行,则只需检查其是否为零。$cnt
if (!$cnt || ($pligne[0] === $pligne[1] && $pligne[0] === $pligne[2])) {
- 1 回答
- 0 关注
- 143 浏览
添加回答
举报
0/150
提交
取消