연관 배열-중복 된 키 값

user3143799

사용자가 제목, 가격, 수량 등을 기준으로 상점에서 책을 선택할 수있는 간단한 쇼핑 애플리케이션을 수행하고 있습니다. 현재 책의 모든 세부 사항은 다음과 같은 연관 배열에 보관됩니다.

$menu = array(
array ('id' => '1', 'catagory' => 'newbooks','title' => 'Alex','price' => 4.95, 'desc' => 'bbbb'),

array('id' => '2','catagory' => 'newbooks','title' => 'David ','price' => 5.95, 'desc' => 'sss'),);

}

내가 달성하려는 것은 책 ID의 중복 항목을 병합하거나 제거하는 것입니다. 또한 각 책 제목은 'title', 'id', 'price'를 포함하는 단일 행에 인쇄됩니다.

예를 들면 :

  1. Alex qty:2 price 4.95
  2. David qty:2 price 5.95 등등...

그리고 이것은 내 장바구니 파일입니다.

        $buy = array();
        $qty = 0;
        $total = 0;
        foreach ($_SESSION['buy'] as $id) {


            foreach ($menu as $book ) {

                if ($book['id'] == $id) {
                    $buy[] = $book;
                    $total += $book['price'];

                }
            }
        }
    }


    if (count($buy) > 0)
        if (count($book) > 0)
    {
        echo"<table>";
        echo"<tr><th>Item Description</th><th>Quantity</th><th>Price</th></tr>";

        foreach ($buy as $book){


            $f_price = sprintf("%0.2f", $book["price"]);

            echo"<tr><td>" .$book["title"] ."</td>";
            echo"<td>" .$qty."</td><";
            echo"<td>" .$f_price."</td></tr>";
        }

        echo"<tr><td>Total</td><td>".$total."</td></tr>";
        echo"</table>";
    }

나는이 문제를 해결하는 데 오랜 시간을 보냈기 때문에 도움이나 조언에 매우 감사 할 것입니다. 문 foreach 루프에 대해 고유 한 기능을 사용하려고 시도했지만 헛되이 아직 초보자이기도합니다. 약간 관용하십시오. 건배!

궁극기

테스트되지 않았지만 이것은 원하는 수량을 얻기 위해 array_count_values사용하여 원하는 작업을 수행 하고 스크립트를보다 효율적이고 쉽게 관리 할 수 ​​있도록 몇 가지 변경 사항을 변경해야합니다.

<?php
//the ids of the items the user wants to buy
$ids=$_SESSION['buy'];

//Your database of items
$menu = array(
    array ('id' => '1', 'catagory' => 'newbooks','title' => 'Alex','price' => 4.95, 'desc' => 'bbbb'),
    array('id' => '2','catagory' => 'newbooks','title' => 'David ','price' => 5.95, 'desc' => 'sss')
);
//Create a reverse look-up for the database
$lookUp=array();
foreach($menu as $i=>$v)$lookUp[$v['id']]=$menu[$i];



//populate the cart with items, their quantities, and a total
$cart = array();
$total = 0;
foreach (array_count_values($ids) as $id=>$quantity)
{

    if (!array_key_exists($id, $lookUp))continue;
    $item=$lookUp[$id];
    $itemTotal=$item['price']*$quantity;
    $total+=$itemTotal;
    $cart[]=array_merge($item,array('quantity'=>$quantity,'itemTotal'=>$itemTotal));
}


if(count($cart) > 0)
{
    echo '<table>';
    echo '<tr><th>Item Description</th><th>Quantity</th><th>Price</th><th>Item Total</th></tr>';
    foreach ($cart as $item)
    {

    echo sprintf('<tr><td>%s</td><td>%s</td><td>%0.2f</td><td>%0.2f</td></tr>',
        $item["title"],$item['quantity'],$item['price'],$item['itemTotal']);
    }
    echo '<tr><td colspan="3" style="text-align:center;">Total</td><td>'.$total.'</td></tr>';
    echo '</table>';
}

이 기사는 인터넷에서 수집됩니다. 재 인쇄 할 때 출처를 알려주십시오.

침해가 발생한 경우 연락 주시기 바랍니다[email protected] 삭제

에서 수정
0

몇 마디 만하겠습니다

0리뷰
로그인참여 후 검토

관련 기사

분류에서Dev

연관 배열 (PHP)에서 중복 이름 (키)의 값 병합

분류에서Dev

PHP : 연관 배열의 배열에서 특정 키와 관련된 반환 값

분류에서Dev

중첩 된 연관 배열 반복

분류에서Dev

중첩 된 키-값 쌍을 기반으로 고유 한 연관 배열 가져 오기

분류에서Dev

중첩 된 연관 배열 키를 행 번호로 인쇄

분류에서Dev

연관 배열에 중첩 된 값 추가-JS

분류에서Dev

2 개의 연결된 배열 내에서 중복 값 확인

분류에서Dev

연관된 배열의 각 키에서 하나의 값 가져 오기

분류에서Dev

연관 배열 BASH에서 중복 키 병합

분류에서Dev

중복 키로 배열 값 병합

분류에서Dev

키-값 쌍의 배열을 연관 배열로 변환

분류에서Dev

배열 내부의 연관 배열에서 키와 값 제거

분류에서Dev

Shell Script를 사용하여 연관 배열에 중복 키 값을 추가하는 방법은 무엇입니까?

분류에서Dev

배열에 중첩 된 해시의 키 값 바꾸기

분류에서Dev

배열로 그룹화하는 중첩 된 키 값 쌍

분류에서Dev

중복 값을 사용하여 MySQL에서 PHP에서 연관 배열 생성

분류에서Dev

자바 스크립트 연관 배열 (해시)에서 중복 값 찾기

분류에서Dev

중복 키 값

분류에서Dev

쌍 / 튜플을 다중 값 키 / 인덱스로 사용하는 자바 스크립트의 연관 배열

분류에서Dev

다차원 연관 배열의 최대 값에서 키 검색

분류에서Dev

키와 값을 연관 배열로 푸시

분류에서Dev

Javascript-연관 배열 키 값 가져 오기

분류에서Dev

Laravel에서 값만 반환 (키 / 연관 배열 없음)

분류에서Dev

연관 배열에서 딥 키 값 수정

분류에서Dev

연관 배열 PHP의 최소 및 최대 키와 값 찾기

분류에서Dev

중첩 배열에서 중복 된 값 제거

분류에서Dev

연관 배열에서 단순 배열로의 PHP 저장 키 값

분류에서Dev

ng 배열에서 반복하여 다른 객체의 키를 필터링하여 연관된 값을 얻고 해당 값에 대한 감시를 사용합니다.

분류에서Dev

배열 PHP에서 제거 / 중복 키 값 가져 오기

Related 관련 기사

  1. 1

    연관 배열 (PHP)에서 중복 이름 (키)의 값 병합

  2. 2

    PHP : 연관 배열의 배열에서 특정 키와 관련된 반환 값

  3. 3

    중첩 된 연관 배열 반복

  4. 4

    중첩 된 키-값 쌍을 기반으로 고유 한 연관 배열 가져 오기

  5. 5

    중첩 된 연관 배열 키를 행 번호로 인쇄

  6. 6

    연관 배열에 중첩 된 값 추가-JS

  7. 7

    2 개의 연결된 배열 내에서 중복 값 확인

  8. 8

    연관된 배열의 각 키에서 하나의 값 가져 오기

  9. 9

    연관 배열 BASH에서 중복 키 병합

  10. 10

    중복 키로 배열 값 병합

  11. 11

    키-값 쌍의 배열을 연관 배열로 변환

  12. 12

    배열 내부의 연관 배열에서 키와 값 제거

  13. 13

    Shell Script를 사용하여 연관 배열에 중복 키 값을 추가하는 방법은 무엇입니까?

  14. 14

    배열에 중첩 된 해시의 키 값 바꾸기

  15. 15

    배열로 그룹화하는 중첩 된 키 값 쌍

  16. 16

    중복 값을 사용하여 MySQL에서 PHP에서 연관 배열 생성

  17. 17

    자바 스크립트 연관 배열 (해시)에서 중복 값 찾기

  18. 18

    중복 키 값

  19. 19

    쌍 / 튜플을 다중 값 키 / 인덱스로 사용하는 자바 스크립트의 연관 배열

  20. 20

    다차원 연관 배열의 최대 값에서 키 검색

  21. 21

    키와 값을 연관 배열로 푸시

  22. 22

    Javascript-연관 배열 키 값 가져 오기

  23. 23

    Laravel에서 값만 반환 (키 / 연관 배열 없음)

  24. 24

    연관 배열에서 딥 키 값 수정

  25. 25

    연관 배열 PHP의 최소 및 최대 키와 값 찾기

  26. 26

    중첩 배열에서 중복 된 값 제거

  27. 27

    연관 배열에서 단순 배열로의 PHP 저장 키 값

  28. 28

    ng 배열에서 반복하여 다른 객체의 키를 필터링하여 연관된 값을 얻고 해당 값에 대한 감시를 사용합니다.

  29. 29

    배열 PHP에서 제거 / 중복 키 값 가져 오기

뜨겁다태그

보관