数组求和操作

WBOY
풀어 주다: 2016-06-23 14:12:28
원래의
1421명이 탐색했습니다.

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        ))120Array(    [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),不够则补齐)


回复讨论(解决方案)

看不懂你的意思,45 是写死的还是算出来的? 贴出你的最后结果吧。

算出来的。45 = 120-12-63。

结果类似于:

数量 对应的项

120 3206*12 3207*63 3208*45

135 3208*135(135 = 180-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']."  ";    if($v['5']==120){	    	    $c=0;	    foreach(array_slice($ar,0,-1) as $vl){  		    $c+=$vl['count'];		    echo $vl['lotno']."*".$vl['count'] ." ";		}			$end=end($ar);		echo $end['lotno'] ."*" . ($sub=$v['5']-$c) .'<br>';	}	else if($v['5']==135){	     echo $end['lotno'] ."*" .($end['count']-$sub);	}}
로그인 후 복사
 

관련 라벨:
원천:php.cn
본 웹사이트의 성명
본 글의 내용은 네티즌들의 자발적인 기여로 작성되었으며, 저작권은 원저작자에게 있습니다. 본 사이트는 이에 상응하는 법적 책임을 지지 않습니다. 표절이나 침해가 의심되는 콘텐츠를 발견한 경우 admin@php.cn으로 문의하세요.
최신 이슈
인기 튜토리얼
더>
최신 다운로드
더>
웹 효과
웹사이트 소스 코드
웹사이트 자료
프론트엔드 템플릿