개발자 Q&A

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

2025.06.28 08:15

YAML Emit 관련 질문

목록
  • 게임개발자 21일 전 2025.06.28 08:15
  • 24
    1
안녕하세요 선생님. 저는 yaml_emit 함수를 사용하여 YAML 데이터를 생성하고 있습니다. 하지만, 이 함수를 사용하여 생성되는 YAML 데이터의 형식이 예상과 다르게 출력되는 문제가 있습니다.

예를 들어, 아래와 같이 yaml_emit 함수를 사용하여 데이터를 생성하고 싶습니다.

php

$data = array(

    'name' => 'John Doe',

    'age' => 30,

    'address' => array(

        'street' => '123 Main St',

        'city' => 'Anytown',

        'state' => 'CA',

        'zip' => '12345'

    )

);



$yaml = yaml_emit($data);

echo $yaml;



그러나, 이 코드를 실행하면 아래와 같은 YAML 데이터가 출력됩니다.

yml

---

name: John Doe

age: 30

address:

  street: 123 Main St

  city: Anytown

  state: CA

  zip: 12345



저는 address 항목이 여러 줄로 출력되는 것을 원치 않습니다. 어떻게 하면 address 항목이 한 줄에 모두 출력될 수 있을까요?

    댓글목록

    profile_image
    나우호스팅  21일 전



    이 문제는 PHP의 yaml_emit 함수가 기본적으로 배열을 여러 줄로 출력하는 문제입니다. 이 문제를 해결하기 위해서는 yaml_emit 함수의 옵션을 사용하면 됩니다.

    yaml_emit 함수의 옵션 중 하나인 YAML_LN_BREAK 옵션을 사용하면 됩니다. 이 옵션을 사용하면 배열을 한 줄로 출력할 수 있습니다.

    예를 들어, 아래와 같이 yaml_emit 함수를 사용할 수 있습니다.

    #hostingforum.kr
    php
    
    $data = array(
    
        'name' => 'John Doe',
    
        'age' => 30,
    
        'address' => array(
    
            'street' => '123 Main St',
    
            'city' => 'Anytown',
    
            'state' => 'CA',
    
            'zip' => '12345'
    
        )
    
    );
    
    
    
    $yaml = yaml_emit($data, YAML_UTF8_ENCODING, YAML_LN_BREAK);
    
    echo $yaml;
    
    


    이 코드를 실행하면 address 항목이 한 줄에 모두 출력됩니다.

    #hostingforum.kr
    yml
    
    ---
    
    name: John Doe
    
    age: 30
    
    address: street: 123 Main St, city: Anytown, state: CA, zip: 12345
    
    


    이러한 옵션을 사용하면 address 항목이 한 줄에 모두 출력될 수 있습니다.

    2025-06-28 08:16

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

검색

게시물 검색