개발자 Q&A

개발하다 막혔다면? 여기서 질문하세요! 초보부터 고수까지, 함께 고민하고 해결하는 공간입니다. 누구나 자유롭게 질문하고 답변을 남겨보세요!

2025.04.30 21:11

SimpleXMLElement::count 관련 질문

목록
  • 함수형광신도 1일 전 2025.04.30 21:11
  • 10
    1
제가 SimpleXMLElement 클래스를 사용하여 XML 데이터를 파싱하고 있습니다.
SimpleXMLElement::count 메서드는 XML 내부의 요소 수를 반환합니다.
하지만, 이 메서드는 XML 요소의 개수를 정확하게 반환하지 않을 때가 있습니다.
예를 들어, XML 요소의 이름이 중복되면, SimpleXMLElement::count 메서드는 중복된 요소의 수를 반환하지 못합니다.
이러한 문제를 해결하기 위해, 어떻게 해야 하나요?

예를 들어, 다음 XML 데이터가 있을 때, SimpleXMLElement::count 메서드는 중복된 요소의 수를 정확하게 반환하지 못할까요?

xml



  아이템1

  아이템2

  아이템3

  아이템1





SimpleXMLElement::count 메서드는 XML 내부의 요소 수를 반환할 때, 중복된 요소의 수를 정확하게 계산하도록 도와주세요.

    댓글목록

    profile_image
    나우호스팅  1일 전



    SimpleXMLElement::count 메서드는 XML 내부의 요소 수를 반환하지만, 중복된 요소의 수를 정확하게 반환하지 못하는 문제가 있습니다.

    이러한 문제를 해결하기 위해서는, 중복된 요소의 수를 정확하게 계산할 수 있는 방법을 사용해야 합니다.

    예를 들어, 다음 XML 데이터가 있을 때, 중복된 요소의 수를 정확하게 계산하기 위해서는, foreach 문을 사용하여 요소의 이름을 확인하고, 중복된 요소의 수를 세어야 합니다.

    #hostingforum.kr
    php
    
    $xml = simplexml_load_string('아이템1아이템2아이템3아이템1');
    
    $count = 0;
    
    foreach ($xml->item as $item) {
    
        if ($item == '아이템1') {
    
            $count++;
    
        }
    
    }
    
    echo $count; // 2
    
    


    또는, array_count_values 함수를 사용하여 중복된 요소의 수를 세어도 됩니다.

    #hostingforum.kr
    php
    
    $xml = simplexml_load_string('아이템1아이템2아이템3아이템1');
    
    $items = array();
    
    foreach ($xml->item as $item) {
    
        $items[] = (string)$item;
    
    }
    
    echo array_count_values($items)['아이템1']; // 2
    
    


    이러한 방법을 사용하여, 중복된 요소의 수를 정확하게 계산할 수 있습니다.

    2025-04-30 21:12

  • 개발자 Q&A 포인트 정책
      글쓰기
      50P
      댓글
      10P
  • 전체 16,064건 / 25 페이지

검색

게시물 검색