继续上次的那个问题,我已经求得binx(1-8)下对应的test item的个数,现在我已知bin,然后对应一规则:
bin=>test item
例如:
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)怎样匹配规则求出对应的test item的最大的那项是多少?如果不匹配规则则显示‘-’ 

解决方案 »

  1.   

    3=>array(33,86)
    ============
    3是bin值,33,86都是什么值?
      

  2.   

    例中bin的值是3 , 33,86是bin3对应的test item.
      

  3.   

    像这个例子是说明了bin和test item 的规则。我已知bin的值,然后用这个规则去匹配那天求出的bin和test item的关系。若符合,求出其对应规则的最大值,没有符合规则的,则用‘-’表示。
      

  4.   

    sorry,不明白阿
    上次你的例子test item是一串'0000011--000...'这样的字符串,现在怎么就变成数字33,86了,你的项目你自己清楚。
    建议把需求整理得详细一点。
      

  5.   

    1、前天求出来的是bin=〉test item 的关系,计算出个数,就是串'0000011--000...'这样的字符串。
    2、现在已知有一个两者之间的规则:
       
       bin =>test item
       
       3=>33,86, 
       4=>57,66,82,83,84,90,91,92,100, 
       5=>68,30, 
       6=>31,36,38,41,46,47,51,53,55,62,65,79,80,93, 
       7=>1,160, 
       8=>2,3,4,5,8,7,9,10,11,123、现在我已知bin值的情况下,用bin=〉test item 的关系去匹配 规则,求出test item的最大值,如果没有匹配到,则用‘-’表示。
      

  6.   

    唉,翻了前天的贴看了一下
    得到的是类似
    Array
    (
        [3] => 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的次数现在又有array(3=>'33,85')这样的数组,他们之间是什么样的关系???
      

  7.   

    计算出现'1'次数最多的那项,假如bin3中'1'出现次数最多的是test item=33,就把它显示出来:
    bin   test item
    3       33   如果求出次数最多的那项不和test item规则中的值匹配,则显示'-'。
      

  8.   

    大概明白了..
    "假如bin3中'1'出现次数最多的是test item=33",你所说的test item=33意思就是1-160项里面的第33项?如果33项确实是1-160项中出现'1'最多的,那33这个值就符合条件,否则显示 '-'?
      

  9.   

    问题也详细,答案才越详细。$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
    )
    //以上数组是假设的已获得的bin=>test item数组,肉眼可知bin1的1出现次数最多项为4,bin2为6
    //以下为你本贴给出的类似数组。
    $arr2 = array(
    1=>array(2,4,6,8),//应显示为  -,4,-,- 表示第4项确实为bin1的最大项??
    2=>array(3,5,6,22)// 应显示为 -,-,6,- 表示第6项确实为bin2的最大项??
    )
      

  10.   

    基本上意思理解的差不多,我对于规则来讲,没有说清楚。结果应该如此:
    $arr2 = array(
    1=>array(2,4,6,8),//应显示为4
    2=>array(3,5,7,22)// 应显示为-,因为test item的最大值为6,但是它与规则里没有1个值能匹配的
    )
    也就是说,当test item的最大值在规则中有匹配的话,则显示与规则值相同的那一项且只有一个。如果一个都不匹配,那么显示'-'。
      

  11.   

    好吧,就以这个例子给你个参考..闪人忙活了..
    $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/>";
    }
      

  12.   

    如果我要放到代码中如何做?
    前一个test item生成的例子: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,
    bin2|0|0|0|0|0|38|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|20|0|0|0|0|0|0|16|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0,
    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|8|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|63|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|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|0|0|0|0|0|0|0|0|0,
    bin4|0|0|0|0|0|0|0|0|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|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|8|0|0|0|0|0|0|0|0|14|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|83|85|94|0|10|0|0|0|26|10|58|0|0|0|0|0|0|0|25|8|0|0|0|0|0|0|9|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|0|0|0|0|0|0|0|0,
    bin5|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|1979|1890|0|1918|0|0|1319|0|1484|0|0|469|0|0|0|0|685|1439|0|0|0|1551|0|1751|0|1431|0|1771|0|0|0|0|1501|0|0|1310|1461|0|1956|0|0|0|0|0|0|0|0|0|0|1736|765|0|1127|1125|140|0|175|0|0|0|171|1271|1127|1248|0|0|0|0|0|0|170|175|0|0|0|0|0|0|187|1420|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0,
    bin6|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|1032|0|434|0|0|213|0|130|0|0|68|0|0|0|0|649|201|0|0|0|493|0|273|0|177|0|195|0|0|0|0|230|0|0|141|239|0|0|0|0|0|0|0|0|0|0|0|0|391|1469|0|105|104|108|0|128|0|0|0|173|103|219|494|0|0|0|0|0|0|176|179|0|0|0|0|0|0|202|180|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0,
    bin7|1336|777|421|792|431|315|383|318|299|323|354|365|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|1621|1691|0|1630|0|0|1669|0|1570|0|0|1422|0|0|0|0|1464|1598|0|0|0|1593|0|1614|0|1594|0|1567|0|0|0|0|1669|0|0|1572|1486|0|1614|0|0|0|0|0|0|0|0|0|0|1657|1214|0|1358|1541|1438|0|902|0|0|0|1085|1182|772|1648|0|0|0|0|0|0|961|1004|0|0|0|0|0|0|1279|1618|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|1738,
    bin8|0|238|228|304|261|459|606|456|224|219|286|253|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|189|224|0|199|0|0|211|0|188|0|0|125|0|0|0|0|134|188|0|0|0|193|0|224|0|178|0|222|0|0|0|0|218|0|0|175|184|0|187|0|0|0|0|0|0|0|0|0|0|212|121|0|150|160|66|0|97|0|0|0|58|171|132|155|0|0|0|0|0|0|71|70|0|0|0|0|0|0|71|165|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0我的bin的值也是求最大值求出来的: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;
    }输出部分:$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)
    );$str = implode(',',$bin2test_item[$i]);  
    echo $str;
    应该如何修改?谢谢
      

  13.   

    求解一下。
    现在$bin的值是通过最大值求得,现在求与它对应的test item最大值,需匹配test item规则。
      

  14.   


    <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 
    for($i=3;$i<9;$i++) 

    ?> 
    <tr class="cells" onmouseover="this.className='cells2'" onmouseout="this.className='cells'"><td width=30%><?php echo "Bin".$i ?> 
    <td width=70%> 
    <?php 
    $str = implode(',',$bin2test_item[$i]);  
    //echo $str;
    echo wordwrap($str,29,"\n",TRUE);
    ?></td> 
    <?php 

    ?> 
    </tr>输出类似以下情况:
    Dut Bin(WRIGHT NT)                             Bin(WRIGHT NT) Test Item
    (已求出Bin的最大值)                                      (Bin的最大值,求对应的Test Item的最大值,匹配规则)
      

  15.   

    呵呵,根据思路,自己分析分析吧,php的数组操作,多练练就有了,不要惧怕它.
    总不能整个代码都由我来帮你写....
      

  16.   

    结合上面的代码...
    <table>
    <tr><th>Dut Bin(WRIGHT NT) </th><th>Bin(WRIGHT NT) Test Item </th></tr>
    <?php
    foreach($bin2test_item[$i] as $bin=>$binItem)
    {
    ?>
      <tr><td><?php echo $bin;?></td><td><?php echo getMaxCol($bin,$binItem);?></td></tr>
    <?php
    }
    ?>
    </table>
      

  17.   

    经测试输出结果不正确。我现在已知求得了Bin的最大值,以前有求得Test Item的最大值,现在是对应规则求Bin的Test Item的最大值。$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'
    );
    像这句对应$row_testitem = $row['TestItem'];这个变量怎么对应$arr ?
      

  18.   

    贴出源码:<?php
    $row_bin = $row['Bin'];
    $row_testitem = $row['TestItem'];

    $arr = Array($row_testitem);
    function getMaxCol($arr,$bin)
    {
    $k = explode('|',$arr[$bin]);
    //print_r($k);
    @array_shift($k);
    return @array_search(max($k),$k)+1;
    }
    $lines = explode(",",$row_bin);
    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;
    }
    $lines = explode(",",$row_bin);
    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; 
    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()
     );
    ?>
    <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 
    for($i=3;$i<9;$i++) 

    ?> 
    <tr class="cells" onmouseover="this.className='cells2'" onmouseout="this.className='cells'"><td width=30%><?php echo "Bin".$i ?> 
    <td width=70%> 
    <?php 
    echo getMaxCol($bin,$binItem);
    /*
    $str = implode(',',$bin2test_item[$i]);  
    //echo $str;
    echo wordwrap($str,29,"\n",TRUE);
    */
    ?></td> 
    <?php 

    ?> 
    </tr>
      

  19.   

    我给你的是思路,你首要问题就是如何构造一个数组,然后是如何结合html输出一个数组,copy & paste是不行的.
    $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)
                );
    这个$bin2test_item是给定最大列的范围
    getMaxCol函数第一个参数是数组$arr,就类似23楼$arr那个数组,第二个参数就是$arr数组每一行的键值,即是每一行的bin值.
    结合13楼的代码.
    <table>
    <tr><th>Dut Bin(WRIGHT NT) </th><th>Bin(WRIGHT NT) Test Item </th></tr>
    <?php
    foreach($bin2test_item as $bin=>$binItem)
    {
    ?>
      <tr><td><?php echo $bin;?></td><td><?php echo getMaxCol($arr,$bin);?></td></tr>
    <?php
    }
    ?>
    </table>
      

  20.   


    $row_testitem = $row['TestItem'];
    $arr = Array($row_testitem);
    function getMaxCol($arr,$bin)
    {
      $k = explode('|',$arr[$bin]);
      print_r($k);//没有输出,
      return array_search(max($k),$k)+1;
    }结果为Array ( [0] => ) ,说明没有抓到数据。请问我的$row_testitem怎么赋值给$arr?