채택완료

배열을 이렇게 사용할수 있나요?

array
(
  [0] => array
  (
    [2019042916370944]=>150
    [2019042916370944]=>300
    [2019042916370944]=>100
    [2019042822332869]=>700
    [2019042812123234]=>100
  )
)

2019042916370944 => 550
2019042822332869 => 700
2019042812123234 => 100
 

위에는, [ 주문번호 ]=>해당상품에 대한 지급할 포인트

형식으로 값을 넣고,

해당주문번호에 중복된 값들의 합을 구하고 싶습니다.

변수명은 이러합니다.

배열명: $arr

주문번호 : $row[od_id]

포인트: $point 입니다..

요렇게 하려면 어떻게해야될까요...?ㅠㅠ도움이 필요합니다..

|

답변 2개

채택된 답변
+20 포인트

 배열은 키가 동일하도록 그렇게 사용할 수 없습니다

array
  (
    [2019042916370944]=>150
    [2019042916370944]=>300
    [2019042916370944]=>100
    [2019042822332869]=>700
    [2019042812123234]=>100
  )

위 배열은  아래와 같습니다

array
  (
    [2019042916370944]=>100
    [2019042822332869]=>700
    [2019042812123234]=>100
  )

즉 [2019042916370944]=>100 <- 이것 하나만 남고 그 위의 두개는 키값이 동일한 마지막 값으로 덮여씌워져 없어져버립니다

 [ 주문번호 ]=>해당상품에 대한 지급할 포인트 형식으로 값을 넣고

<---상품에 대한 포인트는 관리자 페이지 상품관리에서 각각의 상품에 지급할 포인트를 설정하면

자동으로 해당주문의 포인트가 합산되어 나오도록 되어있습니다

2019-05-07 (화) 22:47:08

$arr =array();

foreach($array as $key=>$f){

    foreach($f as $sub_key =>$sub_f){

       $arr[$sub_key]+=$sub_f;

    }

}

print_r($arr);

이정도면 해결될듯 하네요.

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