테스트 사이트 - 개발 중인 베타 버전입니다

php array 합 질문드립니다 채택완료

씨메이크 5년 전 조회 2,114

$a = array(뽀로로,  에디,    포비,    뽀로로,   포비);

$b =array(1000,    1500,    1800,   1000,    1800);

$c = array(2,        3,         1,        2,        1);

 

이런식으로 있다고 할때

위의 내용을

뽀로로,  4,   4000

에디,     3,   4500

포비,     2,   3600

 

이렇게 합산해서 출력하려고 합니다

 

어떻게 방법이 있는지 알려 주시면 감사하겠습니다.

댓글을 작성하려면 로그인이 필요합니다.

답변 2개

채택된 답변
+20 포인트

$a = array('뽀로로',  '에디',    '포비',    '뽀로로',   '포비');
$b =array(1000,    1500,    1800,   1000,    1800);
$c = array(2,        3,         1,        2,        1);

//배열의 중복값제거
$a_unique=array_unique($a);

//총 금액 저장 배열
$sum = array();
//총 갯수 저장 배열
$sum_count = array();

$cnt_unique = count($a_unique);
$cnt = count($a);

for($i=0; $i<$cnt_unique; $i++){
    $sum[$i]= 0;
    $sum_count[$i] =0;
    for($j=0; $j<$cnt; $j++){
        if($a_unique[$i]==$a[$j]){
            $sum[$i] += $b[$j]*$c[$j];
            $sum_count[$i] += $c[$j];
        }
    }
    echo $a_unique[$i].",".$sum[$i].",".$sum_count[$i]."<br>";
}

 

이렇게 하니 총 금액과 총 갯수가 출력되네요

로그인 후 평가할 수 있습니다

답변에 대한 댓글 1개

씨메이크
5년 전
오~~~ 감사합니다 이 부분 때문에 엄청 머리 아팠는데..정말 감사합니다 ^^

댓글을 작성하려면 로그인이 필요합니다.

d
5년 전

아래처럼 해보세요

for($i=0;$i<count($a);$i++){

echo $a[$i].",".$b[$i].",".$c[$i]."<br>";

}

로그인 후 평가할 수 있습니다

답변에 대한 댓글 1개

씨메이크
5년 전
답변 감사드립니다 그런데 중복된 값을 합치려고요...ㅜㅜ

댓글을 작성하려면 로그인이 필요합니다.

답변을 작성하려면 로그인이 필요합니다.

로그인