程序要达到以下例子的效果:$arr = Array
(
'1' => 'bin1|0|0|0|1000|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0',
'2' => 'bin2|0|0|0|0|0|2000|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0'
);$arr2 = array(
1=>array(2,4,6,8),//应显示为 4
2=>array(3,5,7,22)// 应显示为 -
);
function getMaxCol($arr,$bin)
{
$k = explode('|',$arr[$bin]);
array_shift($k);
return array_search(max($k),$k)+1;
}
foreach($arr2 as $k=>$v)
{
$col = getMaxCol($arr,$k);
echo "bin".$k.":".(in_array($col,$v) ? $col : '-')."<br/>";
}以下是我的代码:<?php
$result = mysql_query("SELECT `dutswitch`.ID, `dutswitch`.CustomerLotID, `dutswitch`.state,`dutbin`.Pgm, `dutbin`.`Pgm version`, `dutswitch`.status1, `dutswitch`.status2, `dutbin`.Bin, `dutbin`.TestItem FROM `dutswitch`,`dutbin` WHERE `dutbin`.CustomerLotID=`dutswitch`.CustomerLotID and `dutbin`.State=`dutswitch`.state and `dutswitch`.ID=$id LIMIT 1");
if (mysql_num_rows($result) == 0)
die('Error ID!');
$row = mysql_fetch_array($result);
//print_r($row);
$row_bin = $row['Bin'];
$row_testitem = $row['TestItem'];
$arr = explode(',', $row_testitem);
//print_r($arr);
function getMaxCol($arr,$bin)
{
$k = explode('|',$arr[$bin]);
//array_shift($k);
//print_r($k);
return array_search(max($k),$k)+1;
}
?>
<?php
$lines = explode(",",$row_bin);
//print_r($lines);
foreach($lines as $v)
{
$t = explode('|',$v);
$k = $t[0];
$f[$k] = array();
$f[$k]['bin'] = array_slice($t,1,8);
$f[$k]['all'] = array_slice($t,9,1);
$f[$k]['binpercent'] = array_slice($t,10);
}function dut($f,$dut,$s,$e)
{
$mp = getMax($f[$dut]['binpercent'],$s-1,$e-1);
$resultsArray['Dut'] = 'Bin';
//echo "the max percent is : ".$mp."(bin%".(array_search($mp,$f[$dut]['binpercent'])+1).")<br/>";
//echo $dut."=> bin".(array_search($mp,$f[$dut]['binpercent'])+1)."<br/>";
//echo "=================<br/>";
if(floatval($mp) != 0 )
return array($dut,array_search($mp,$f[$dut]['binpercent'])+1);
else
{
return array($dut,"-");
}
}
function getMax($array,$s,$e='')
{
$f = array_splice($array,$s,$e);
$i = 0;
foreach($f as $v){
if(rtrim($v,'%')+0 > rtrim($i,'%')+0){
$i = $v;
}
}
return $i;
}$dutArray = $save;
if( (($row['3']=='O624W8U6')&&($row['4']=='N.14'))||(($row['3']=='O624XFU6')&&($row['4']=='N.14'))||(($row['3']=='O624W81D')&&($row['4']=='N.14'))||(($row['3']=='O624XF1D')&&($row['4']=='N.14'))||(($row['3']=='O624W83D')&&($row['4']=='N.14'))||(($row['3']=='O624XF3D')&&($row['4']=='N.14'))||
(($row['3']=='O624W85D')&&($row['4']=='N.14'))||(($row['3']=='O624XF5D')&&($row['4']=='N.14'))||(($row['3']=='O624W88D')&&($row['4']=='N.14'))||(($row['3']=='O624XF8D')&&($row['4']=='N.14')))
{
foreach($dutArray as $v)
{
$arr = dut($f,$v,6,8);
$resultsArray[$arr[0]] = $arr[1];
}
//echo "<pre/>";
//echo "Dut Bin<br/>";
foreach($resultsArray as $key=>$value)
{
//echo $key." Bin".$value."<br/>";
}
//print_r($f);
$bin2test_item = array(3=>array(),
4=>array(),
5=>array(),
6=>array(1,2),
7=>array(7,9,10,11,24,25,26,44,45,47,54,55,56,57,58,59,60,62,63,64,65,68,69,70,71,74,75,76,77,78,79,83,85,86,87,88,89,147,148,149,150),
8=>array()
);
//print_r($bin2test_item);
}
else if((($row['3']=='S624W8U6')&&($row['4']=='N.14'))||(($row['3']=='S624XFU6')&&($row['4']=='N.14'))||(($row['3']=='S624W81D')&&($row['4']=='N.14'))||(($row['3']=='S624XF1D')&&($row['4']=='N.14'))||(($row['3']=='S624W83D')&&($row['4']=='N.14'))||(($row['3']=='S624XF3D')&&($row['4']=='N.14'))||
(($row['3']=='S624W85D')&&($row['4']=='N.14'))||(($row['3']=='S624XF5D')&&($row['4']=='N.14'))||(($row['3']=='S624W88D')&&($row['4']=='N.14'))||(($row['3']=='S624XF8D')&&($row['4']=='N.14')))
{
foreach($dutArray as $v)
{
$arr = dut($f,$v,3,8);
$resultsArray[$arr[0]] = $arr[1];
}
foreach($resultsArray as $key=>$value)
{
//echo $key." Bin".$value."<br/>";
}
$bin2test_item = array(3=>array(33,86),
4=>array(57,66,82,83,84,90,91,92,100),
5=>array(68,30),
6=>array(31,36,38,41,46,47,51,53,55,62,65,79,80,93),
7=>array(1,160),
8=>array(2,3,4,5,8,7,9,10,11,12)
);
//print_r($bin2test_item);
}
else if((($row['3']=='T624W8U6')&&($row['4']=='N.14'))||(($row['3']=='T624XFU6')&&($row['4']=='N.14'))||(($row['3']=='T624W81D')&&($row['4']=='N.14'))||(($row['3']=='T624XF1D')&&($row['4']=='N.14'))||(($row['3']=='T624W83D')&&($row['4']=='N.14'))||(($row['3']=='T624XF3D')&&($row['4']=='N.14'))||
(($row['3']=='T624W85D')&&($row['4']=='N.14'))||(($row['3']=='T624XF5D')&&($row['4']=='N.14'))||(($row['3']=='T624W88D')&&($row['4']=='N.14'))||(($row['3']=='T624XF8D')&&($row['4']=='N.14')))
{
foreach($dutArray as $v)
{
$arr = dut($f,$v,3,8);
$resultsArray[$arr[0]] = $arr[1];
}
foreach($resultsArray as $key=>$value)
{
//echo $key." Bin".$value."<br/>";
}
$bin2test_item = array(3=>array(61,75,76,99,101,112,113),
4=>array(31,33,34,50),
5=>array(48,71,30),
6=>array(45,46,59,100,105,110),
7=>array(1,2),
8=>array(116,118)
);
}
else if((($row['3']=='O624W8U6')&&($row['4']=='N.14A'))||(($row['3']=='O624XFU6')&&($row['4']=='N.14A'))||(($row['3']=='O624W81D')&&($row['4']=='N.14A'))||(($row['3']=='O624XF1D')&&($row['4']=='N.14A'))||(($row['3']=='O624W83D')&&($row['4']=='N.14A'))||(($row['3']=='O624XF3D')&&($row['4']=='N.14A'))||
(($row['3']=='O624W85D')&&($row['4']=='N.14A'))||(($row['3']=='O624XF5D')&&($row['4']=='N.14A'))||(($row['3']=='O624W88D')&&($row['4']=='N.14A'))||(($row['3']=='O624XF8D')&&($row['4']=='N.14A')))
{
foreach($dutArray as $v)
{
$arr = dut($f,$v,7,8);
$resultsArray[$arr[0]] = $arr[1];
}
foreach($resultsArray as $key=>$value)
{
//echo $key." Bin".$value."<br/>";
}
$bin2test_item = array(3=>array(),
4=>array(),
5=>array(),
6=>array(),
7=>array(1,2),
8=>array(7,9,10,11,24,25,26,44,45,47,54,55,56,57,58,59,60,62,63,64,65,68,69,70,71,74,75,76,77,78,79,83,85,86,87,88,89,147,148,149,150)
);
}
else if((($row['3']=='S624W8U6')&&($row['4']=='N.14A'))||(($row['3']=='S624XFU6')&&($row['4']=='N.14A'))||(($row['3']=='S624W81D')&&($row['4']=='N.14A'))||(($row['3']=='S624XF1D')&&($row['4']=='N.14A'))||(($row['3']=='S624W83D')&&($row['4']=='N.14A'))||(($row['3']=='S624XF3D')&&($row['4']=='N.14A'))||
(($row['3']=='S624W85D')&&($row['4']=='N.14A'))||(($row['3']=='S624XF5D')&&($row['4']=='N.14A'))||(($row['3']=='S624W88D')&&($row['4']=='N.14A'))||(($row['3']=='S624XF8D')&&($row['4']=='N.14A')))
{
foreach($dutArray as $v)
{
$arr = dut($f,$v,3,8);
$resultsArray[$arr[0]] = $arr[1];
}
foreach($resultsArray as $key=>$value)
{
//echo $key." Bin".$value."<br/>";
}
$bin2test_item = array(3=>array(33,86),
4=>array(57,66,82,83,84,90,91,92,100),
5=>array(68,30),
6=>array(31,36,38,41,46,47,51,53,55,62,65,79,80,93),
7=>array(1,160),
8=>array(2,3,4,5,8,7,9,10,11,12)
);
}
else
{
foreach($dutArray as $v)
{
$arr = dut($f,$v,3,8);
$resultsArray[$arr[0]] = $arr[1];
}
foreach($resultsArray as $key=>$value)
{
//echo $key." Bin".$value."<br/>";
}
$bin2test_item = array(3=>array(61,75,76,99,101,112,113),
4=>array(31,33,34,50),
5=>array(48,71,30),
6=>array(45,46,59,100,105,110),
7=>array(1,2),
8=>array(116,118)
);
}
?>
<br /><br />
<form name="frm1" method="get" action="detail test.php?action=do">
<input type="hidden" name="id" value="<?php echo $id;?>" />
<table border="0" align="left" cellpadding="0" cellspacing="1" bgcolor="#B0C5FF" width="600">
<tr class="cells" onmouseover="this.className='cells2'" onmouseout="this.className='cells'"><td bgColor=#cedcff width=30%><strong>Dut</strong></td><td bgColor=#cedcff width=40%><strong>Bin(WRIGHT NT)</strong></td></tr>
<?php
for($i=0;$i<count($save);$i++)
{
?>
<tr class="cells" onmouseover="this.className='cells2'" onmouseout="this.className='cells'"><td width=30%>
<?php
echo trim($save[$i]);
?>
<td width=70%>
<?php
echo trim("Bin ".$resultsArray[$save[$i]]);
?></td>
<?php
}
?>
</tr>
</table>
<table border="0" align="right" cellpadding="0" cellspacing="1" bgcolor="#B0C5FF" width="600">
<tr class="cells" onmouseover="this.className='cells2'" onmouseout="this.className='cells'"><td bgColor=#cedcff width=30%><strong>Bin(WRIGHT NT)</strong></td><td bgColor=#cedcff width=40%><strong>Test Item</strong></td></tr>
<?php
foreach($bin2test_item as $bin=>$binItem)
{
?>
<tr class="cells" onmouseover="this.className='cells2'" onmouseout="this.className='cells'"><td width=50%><?php echo "Bin".$bin;?></td><td width=50%>
<?php
$col = getMaxCol($arr,$k);
//print_r($arr);//问题部分,得不到数据
echo in_array($col,$binItem) ? $col : '-';
?></td></tr>
<?php
}
?>
</table>
(
'1' => 'bin1|0|0|0|1000|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0',
'2' => 'bin2|0|0|0|0|0|2000|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0'
);$arr2 = array(
1=>array(2,4,6,8),//应显示为 4
2=>array(3,5,7,22)// 应显示为 -
);
function getMaxCol($arr,$bin)
{
$k = explode('|',$arr[$bin]);
array_shift($k);
return array_search(max($k),$k)+1;
}
foreach($arr2 as $k=>$v)
{
$col = getMaxCol($arr,$k);
echo "bin".$k.":".(in_array($col,$v) ? $col : '-')."<br/>";
}以下是我的代码:<?php
$result = mysql_query("SELECT `dutswitch`.ID, `dutswitch`.CustomerLotID, `dutswitch`.state,`dutbin`.Pgm, `dutbin`.`Pgm version`, `dutswitch`.status1, `dutswitch`.status2, `dutbin`.Bin, `dutbin`.TestItem FROM `dutswitch`,`dutbin` WHERE `dutbin`.CustomerLotID=`dutswitch`.CustomerLotID and `dutbin`.State=`dutswitch`.state and `dutswitch`.ID=$id LIMIT 1");
if (mysql_num_rows($result) == 0)
die('Error ID!');
$row = mysql_fetch_array($result);
//print_r($row);
$row_bin = $row['Bin'];
$row_testitem = $row['TestItem'];
$arr = explode(',', $row_testitem);
//print_r($arr);
function getMaxCol($arr,$bin)
{
$k = explode('|',$arr[$bin]);
//array_shift($k);
//print_r($k);
return array_search(max($k),$k)+1;
}
?>
<?php
$lines = explode(",",$row_bin);
//print_r($lines);
foreach($lines as $v)
{
$t = explode('|',$v);
$k = $t[0];
$f[$k] = array();
$f[$k]['bin'] = array_slice($t,1,8);
$f[$k]['all'] = array_slice($t,9,1);
$f[$k]['binpercent'] = array_slice($t,10);
}function dut($f,$dut,$s,$e)
{
$mp = getMax($f[$dut]['binpercent'],$s-1,$e-1);
$resultsArray['Dut'] = 'Bin';
//echo "the max percent is : ".$mp."(bin%".(array_search($mp,$f[$dut]['binpercent'])+1).")<br/>";
//echo $dut."=> bin".(array_search($mp,$f[$dut]['binpercent'])+1)."<br/>";
//echo "=================<br/>";
if(floatval($mp) != 0 )
return array($dut,array_search($mp,$f[$dut]['binpercent'])+1);
else
{
return array($dut,"-");
}
}
function getMax($array,$s,$e='')
{
$f = array_splice($array,$s,$e);
$i = 0;
foreach($f as $v){
if(rtrim($v,'%')+0 > rtrim($i,'%')+0){
$i = $v;
}
}
return $i;
}$dutArray = $save;
if( (($row['3']=='O624W8U6')&&($row['4']=='N.14'))||(($row['3']=='O624XFU6')&&($row['4']=='N.14'))||(($row['3']=='O624W81D')&&($row['4']=='N.14'))||(($row['3']=='O624XF1D')&&($row['4']=='N.14'))||(($row['3']=='O624W83D')&&($row['4']=='N.14'))||(($row['3']=='O624XF3D')&&($row['4']=='N.14'))||
(($row['3']=='O624W85D')&&($row['4']=='N.14'))||(($row['3']=='O624XF5D')&&($row['4']=='N.14'))||(($row['3']=='O624W88D')&&($row['4']=='N.14'))||(($row['3']=='O624XF8D')&&($row['4']=='N.14')))
{
foreach($dutArray as $v)
{
$arr = dut($f,$v,6,8);
$resultsArray[$arr[0]] = $arr[1];
}
//echo "<pre/>";
//echo "Dut Bin<br/>";
foreach($resultsArray as $key=>$value)
{
//echo $key." Bin".$value."<br/>";
}
//print_r($f);
$bin2test_item = array(3=>array(),
4=>array(),
5=>array(),
6=>array(1,2),
7=>array(7,9,10,11,24,25,26,44,45,47,54,55,56,57,58,59,60,62,63,64,65,68,69,70,71,74,75,76,77,78,79,83,85,86,87,88,89,147,148,149,150),
8=>array()
);
//print_r($bin2test_item);
}
else if((($row['3']=='S624W8U6')&&($row['4']=='N.14'))||(($row['3']=='S624XFU6')&&($row['4']=='N.14'))||(($row['3']=='S624W81D')&&($row['4']=='N.14'))||(($row['3']=='S624XF1D')&&($row['4']=='N.14'))||(($row['3']=='S624W83D')&&($row['4']=='N.14'))||(($row['3']=='S624XF3D')&&($row['4']=='N.14'))||
(($row['3']=='S624W85D')&&($row['4']=='N.14'))||(($row['3']=='S624XF5D')&&($row['4']=='N.14'))||(($row['3']=='S624W88D')&&($row['4']=='N.14'))||(($row['3']=='S624XF8D')&&($row['4']=='N.14')))
{
foreach($dutArray as $v)
{
$arr = dut($f,$v,3,8);
$resultsArray[$arr[0]] = $arr[1];
}
foreach($resultsArray as $key=>$value)
{
//echo $key." Bin".$value."<br/>";
}
$bin2test_item = array(3=>array(33,86),
4=>array(57,66,82,83,84,90,91,92,100),
5=>array(68,30),
6=>array(31,36,38,41,46,47,51,53,55,62,65,79,80,93),
7=>array(1,160),
8=>array(2,3,4,5,8,7,9,10,11,12)
);
//print_r($bin2test_item);
}
else if((($row['3']=='T624W8U6')&&($row['4']=='N.14'))||(($row['3']=='T624XFU6')&&($row['4']=='N.14'))||(($row['3']=='T624W81D')&&($row['4']=='N.14'))||(($row['3']=='T624XF1D')&&($row['4']=='N.14'))||(($row['3']=='T624W83D')&&($row['4']=='N.14'))||(($row['3']=='T624XF3D')&&($row['4']=='N.14'))||
(($row['3']=='T624W85D')&&($row['4']=='N.14'))||(($row['3']=='T624XF5D')&&($row['4']=='N.14'))||(($row['3']=='T624W88D')&&($row['4']=='N.14'))||(($row['3']=='T624XF8D')&&($row['4']=='N.14')))
{
foreach($dutArray as $v)
{
$arr = dut($f,$v,3,8);
$resultsArray[$arr[0]] = $arr[1];
}
foreach($resultsArray as $key=>$value)
{
//echo $key." Bin".$value."<br/>";
}
$bin2test_item = array(3=>array(61,75,76,99,101,112,113),
4=>array(31,33,34,50),
5=>array(48,71,30),
6=>array(45,46,59,100,105,110),
7=>array(1,2),
8=>array(116,118)
);
}
else if((($row['3']=='O624W8U6')&&($row['4']=='N.14A'))||(($row['3']=='O624XFU6')&&($row['4']=='N.14A'))||(($row['3']=='O624W81D')&&($row['4']=='N.14A'))||(($row['3']=='O624XF1D')&&($row['4']=='N.14A'))||(($row['3']=='O624W83D')&&($row['4']=='N.14A'))||(($row['3']=='O624XF3D')&&($row['4']=='N.14A'))||
(($row['3']=='O624W85D')&&($row['4']=='N.14A'))||(($row['3']=='O624XF5D')&&($row['4']=='N.14A'))||(($row['3']=='O624W88D')&&($row['4']=='N.14A'))||(($row['3']=='O624XF8D')&&($row['4']=='N.14A')))
{
foreach($dutArray as $v)
{
$arr = dut($f,$v,7,8);
$resultsArray[$arr[0]] = $arr[1];
}
foreach($resultsArray as $key=>$value)
{
//echo $key." Bin".$value."<br/>";
}
$bin2test_item = array(3=>array(),
4=>array(),
5=>array(),
6=>array(),
7=>array(1,2),
8=>array(7,9,10,11,24,25,26,44,45,47,54,55,56,57,58,59,60,62,63,64,65,68,69,70,71,74,75,76,77,78,79,83,85,86,87,88,89,147,148,149,150)
);
}
else if((($row['3']=='S624W8U6')&&($row['4']=='N.14A'))||(($row['3']=='S624XFU6')&&($row['4']=='N.14A'))||(($row['3']=='S624W81D')&&($row['4']=='N.14A'))||(($row['3']=='S624XF1D')&&($row['4']=='N.14A'))||(($row['3']=='S624W83D')&&($row['4']=='N.14A'))||(($row['3']=='S624XF3D')&&($row['4']=='N.14A'))||
(($row['3']=='S624W85D')&&($row['4']=='N.14A'))||(($row['3']=='S624XF5D')&&($row['4']=='N.14A'))||(($row['3']=='S624W88D')&&($row['4']=='N.14A'))||(($row['3']=='S624XF8D')&&($row['4']=='N.14A')))
{
foreach($dutArray as $v)
{
$arr = dut($f,$v,3,8);
$resultsArray[$arr[0]] = $arr[1];
}
foreach($resultsArray as $key=>$value)
{
//echo $key." Bin".$value."<br/>";
}
$bin2test_item = array(3=>array(33,86),
4=>array(57,66,82,83,84,90,91,92,100),
5=>array(68,30),
6=>array(31,36,38,41,46,47,51,53,55,62,65,79,80,93),
7=>array(1,160),
8=>array(2,3,4,5,8,7,9,10,11,12)
);
}
else
{
foreach($dutArray as $v)
{
$arr = dut($f,$v,3,8);
$resultsArray[$arr[0]] = $arr[1];
}
foreach($resultsArray as $key=>$value)
{
//echo $key." Bin".$value."<br/>";
}
$bin2test_item = array(3=>array(61,75,76,99,101,112,113),
4=>array(31,33,34,50),
5=>array(48,71,30),
6=>array(45,46,59,100,105,110),
7=>array(1,2),
8=>array(116,118)
);
}
?>
<br /><br />
<form name="frm1" method="get" action="detail test.php?action=do">
<input type="hidden" name="id" value="<?php echo $id;?>" />
<table border="0" align="left" cellpadding="0" cellspacing="1" bgcolor="#B0C5FF" width="600">
<tr class="cells" onmouseover="this.className='cells2'" onmouseout="this.className='cells'"><td bgColor=#cedcff width=30%><strong>Dut</strong></td><td bgColor=#cedcff width=40%><strong>Bin(WRIGHT NT)</strong></td></tr>
<?php
for($i=0;$i<count($save);$i++)
{
?>
<tr class="cells" onmouseover="this.className='cells2'" onmouseout="this.className='cells'"><td width=30%>
<?php
echo trim($save[$i]);
?>
<td width=70%>
<?php
echo trim("Bin ".$resultsArray[$save[$i]]);
?></td>
<?php
}
?>
</tr>
</table>
<table border="0" align="right" cellpadding="0" cellspacing="1" bgcolor="#B0C5FF" width="600">
<tr class="cells" onmouseover="this.className='cells2'" onmouseout="this.className='cells'"><td bgColor=#cedcff width=30%><strong>Bin(WRIGHT NT)</strong></td><td bgColor=#cedcff width=40%><strong>Test Item</strong></td></tr>
<?php
foreach($bin2test_item as $bin=>$binItem)
{
?>
<tr class="cells" onmouseover="this.className='cells2'" onmouseout="this.className='cells'"><td width=50%><?php echo "Bin".$bin;?></td><td width=50%>
<?php
$col = getMaxCol($arr,$k);
//print_r($arr);//问题部分,得不到数据
echo in_array($col,$binItem) ? $col : '-';
?></td></tr>
<?php
}
?>
</table>
输出:Array([0]=>)
$arr = Array
(
'1' => 'bin1|0|0|0|1000|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0',
'2' => 'bin2|0|0|0|0|0|2000|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0'
);
这样的数组,key是bin值.
2.
foreach($bin2test_item as $bin=>$binItem)
{
?>
<tr class="cells" onmouseover="this.className='cells2'" onmouseout="this.className='cells'"><td width=50%><?php echo "Bin".$bin;?></td><td width=50%>
<?php
//$col = getMaxCol($arr,$k);
$col = getMaxCol($arr,$bin);//不要直接copy呀....
//print_r($arr);//问题部分,得不到数据
echo in_array($col,$binItem) ? $col : '-';
?></td></tr>
<?php
}
?>
$row_testitem = $row['TestItem'];
$arr = explode(',', $row_testitem);这两句实现的吗?
$row_testitem = $row['TestItem'];
$arr = explode(',', $row_testitem);
print_r($arr);
的结果输出:Array ( [0] => bin1|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0 [1] => bin2|0|0|0|0|0|53|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|23|0|0|0|0|0|0|78|4|0|0|0|0|480|469|0|312|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0 [2] => bin3|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|18|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|220|0|0|0|0|0|0|0|0|0|0|0|0|0|90|406|0|0|0|0|0|0|0|0|0|98|0|0|0|0|0|0|0|0|0|0|0|0|76|0|54|0|0|0|0|0|0|5|0|0|0|97|160|1|1|0|2|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0 [3] => bin4|0|0|0|0|0|1|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|582|0|366|352|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|1527|0|0|0|0|0|0|14|0|0|0|0|0|0|0|0|15|0|0|0|0|0|0|0|0|11|9|0|0|0|0|0|95|81|194|0|23|0|0|0|31|17|125|0|0|0|0|0|0|13|46|23|0|0|0|0|0|0|27|1|0|0|1|2|4|6|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0 [4] => bin5|5|0|7|3|0|1|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|6200|4454|0|5355|2467|0|2334|0|1873|0|0|1014|0|0|0|1362|2920|1842|1869|0|2011|2612|0|2676|0|1806|0|2645|0|2513|0|1186|1989|0|0|1695|1885|0|2983|0|0|1838|0|0|0|1475|1689|0|0|2599|1086|0|1353|1364|302|0|366|0|0|0|236|1916|1385|1414|0|0|0|0|0|2248|2716|1819|0|0|0|1199|0|0|267|2021|915|0|1539|1562|891|888|0|1|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0 [5] => bin6|0|0|0|0|0|3|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|993|0|653|254|0|254|0|237|0|0|123|0|0|0|243|764|265|0|0|126|725|0|323|0|293|0|319|0|190|0|17|343|0|0|266|236|0|0|0|0|0|0|0|0|38|47|0|0|367|1702|0|222|232|272|0|305|0|0|0|301|175|289|758|0|0|0|0|0|148|459|348|0|0|0|252|0|0|321|427|81|0|26|16|15|14|0|2|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0 [6] => bin7|2965|4793|796|218|790|221|354|218|172|172|210|211|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|5848|5767|0|5753|4221|0|2494|0|2433|0|0|2210|0|0|0|3445|5196|2476|3595|0|3151|2481|0|2509|0|2482|0|2502|0|3679|0|3306|2532|0|0|2428|2283|0|2530|0|0|3492|0|0|0|3303|3261|0|0|2530|2002|0|2193|2314|1814|0|1261|0|0|0|1381|2063|1334|2104|0|0|0|0|0|3445|4972|4133|0|0|0|3722|0|0|1534|2489|3004|0|3284|3095|2433|2436|671|667|866|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|2505 [7] => bin8|0|316|313|274|295|120|579|122|300|291|266|274|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|1207|1256|0|1214|725|0|475|0|375|0|0|433|0|0|0|677|997|377|437|0|696|464|0|497|0|379|0|502|0|745|0|477|504|0|0|473|442|0|463|0|0|631|0|0|0|692|675|0|0|502|270|0|343|347|242|0|200|0|0|0|178|424|297|365|0|0|0|0|0|743|966|868|0|0|0|473|0|0|220|475|446|0|684|693|357|357|267|392|1095|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0 )
,"4" => "bin4|1|3|...." //bin4,key为4)
不太会,望赐教。
动动手就有啦.foreach($arr as $k=>$v)
{
preg_match("/^bin(\d+)\|.*$/i",$v,$m);
$temp[$m[1]] = $v;
}
$arr = $temp;
$temp = null;
print_r($arr);
Bin3 -
Bin4 -
Bin5 -
Bin6 -
Bin7 1
Bin8 -
实际的结果bin5那项应该为30。是不是这块有问题?<table border="0" align="right" cellpadding="0" cellspacing="1" bgcolor="#B0C5FF" width="600">
<tr class="cells" onmouseover="this.className='cells2'" onmouseout="this.className='cells'"><td bgColor=#cedcff width=30%><strong>Bin(WRIGHT NT)</strong></td><td bgColor=#cedcff width=40%><strong>Test Item</strong></td></tr>
<?php
foreach($bin2test_item as $bin => $binItem)
{
?>
<tr class="cells" onmouseover="this.className='cells2'" onmouseout="this.className='cells'"><td width=50%><?php echo "Bin".$bin;?></td><td width=50%>
<?php
//$col = getMaxCol($arr,$k);
$col = getMaxCol($arr,$bin);
//print_r($arr);
echo in_array($col,$binItem) ? $col : '-';
?></td></tr>
<?php
}
?>
</table>
会报warning。怎么回事?
{
preg_match("/^bin(\d+)\|.*$/i",$v,$m);
$temp[$m[1]] = $v;
}
$arr = $temp;
$temp = null;
//print_r($arr);
function getMaxCol($arr,$bin)
{
$k = explode('|',$arr[$bin]);
print_r($k);//获得的结果:Array ( [0] => )
//array_shift($k);
return array_search(max($k),$k)+1;
}为什么值没有传过来?
$arr = array(
0=>"bin1|0|6|3",
1=>"bin2|0|1|4"
);
foreach($arr as $k=>$v)
{
preg_match("/^bin(\d+)\|.*$/i",$v,$m);
$temp[$m[1]] = $v;
}
$arr = $temp;
$temp = null;
function getMaxCol($arr,$bin)
{
$k = explode('|',$arr[$bin]);
//print_r($k);//获得的结果:Array ( [0] => )
array_shift($k);
return array_search(max($k),$k)+1;
}
echo getMaxCol($arr,1);//最大值是6,在位置2,所以输出2
echo getMaxCol($arr,2);//最大值是4,在位置3,所以输出3