首页 诗词 字典 板报 句子 名言 友答 励志 学校 网站地图
当前位置: 首页 > 教程频道 > 网站开发 > PHP >

数组求和操作,该怎么处理

2013-06-25 
数组求和操作foreach($a as $k$v){print_r($newarr)echo $a[$k][5].br /}Array([0] Array([l

数组求和操作


foreach($a as $k=>$v)
{
print_r($newarr);
echo $a[$k]['5'].'<br />';
}



Array
(
    [0] => Array
        (
            [lotno] => 3206
            [count] => 12
        )

    [1] => Array
        (
            [lotno] => 3207
            [count] => 63
        )

    [2] => Array
        (
            [lotno] => 3218
            [count] => 180
        )

)
120
Array
(
    [0] => Array
        (
            [lotno] => 3206
            [count] => 12
        )

    [1] => Array
        (
            [lotno] => 3207
            [count] => 63
        )

    [2] => Array
        (
            [lotno] => 3218
            [count] => 180
        )

)
135


将count相加,如果对应行的结果为120,则显示3206*12 3207*63 3218*45
若对应行的结果为135,则显示3218*135 (135=180-45(上一轮count已用的45),不够则补齐)
[解决办法]
这个意思
$ar = array (
array( 'lotno' => 3206, 'count' => 12 ),
array( 'lotno' => 3207, 'count' => 63 ),
array( 'lotno' => 3218, 'count' => 180 ),
);

$s = '';
$n = 0;
foreach($ar as $r) {
  if($n + $r['count'] > 120) {
    echo $s . $r['lotno'] . '*' . (120-$n) ."\n";
    echo $r['lotno'] . '*' . ($n = $r['count'] - (120-$n)) ."\n";


    $s = '';
  }else {
    $s .= "$r[lotno]*$r[count] ";
    $n += $r['count'];
    if($n == 120) {
      echo "$s\n";
      $s = '';
      $n = 0;
    }
  }
}

3206*12 3207*63 3218*45
3218*135

[解决办法]
$ar = array (
    array( 'lotno' => 3206, 'count' => 12 ),
    array( 'lotno' => 3207, 'count' => 63 ),
    array( 'lotno' => 3218, 'count' => 180 ),
);
$a=array(
   array('5'=>120),
   array('5'=>135)
);

foreach($a as $k=>$v)
{  echo $v['5']."&nbsp;&nbsp;";
    if($v['5']==120){
    
    $c=0;
    foreach(array_slice($ar,0,-1) as $vl){  
    $c+=$vl['count'];
    echo $vl['lotno']."*".$vl['count'] ."&nbsp;";
}
$end=end($ar);
echo $end['lotno'] ."*" . ($sub=$v['5']-$c) .'<br>';
}
else if($v['5']==135){
     echo $end['lotno'] ."*" .($end['count']-$sub);
}
}
 

热点排行