yaml_emit

(PECL yaml >= 0.5.0)

yaml_emitВозвращает YAML-представление значения

Описание

yaml_emit ( mixed $data , int $encoding = YAML_ANY_ENCODING , int $linebreak = YAML_ANY_BREAK , array $callbacks = null ) : string

Возвращает YAML-представление переданных в параметре data данных.

Список параметров

data

Данные data для кодирования. Параметр может быть любого типа, за исключением ресурса (resource).

encoding

Выходная кодировка выбираемая из YAML_ANY_ENCODING, YAML_UTF8_ENCODING, YAML_UTF16LE_ENCODING, YAML_UTF16BE_ENCODING.

linebreak

Символ перевода строки в выводе YAML_ANY_BREAK, YAML_CR_BREAK, YAML_LN_BREAK, YAML_CRLN_BREAK.

callbacks

Обработчики контента для создания узлов YAML. Ассоциативный массив (array), где в качестве ключей используются имена классов, а в качестве значений callback-функции (callable), которые будут создавать узлы для этих классов. Больше подробностей можно узнать в разделе про публикующие callback-функции.

Возвращаемые значения

Возвращает YAML-закодированную строку (string) в случае успешного выполнения.

Список изменений

Версия Описание
PECL yaml 1.1.0 Добавлен параметр callbacks.

Примеры

Пример #1 Пример использования yaml_emit()

<?php
$addr 
= array(
    
"given" => "Chris",
    
"family"=> "Dumars",
    
"address"=> array(
        
"lines"=> "458 Walkman Dr.
        Suite #292"
,
        
"city"=> "Royal Oak",
        
"state"=> "MI",
        
"postal"=> 48046,
      ),
  );
$invoice = array (
    
"invoice"=> 34843,
    
"date"=> 980208000,
    
"bill-to"=> $addr,
    
"ship-to"=> $addr,
    
"product"=> array(
        array(
            
"sku"=> "BL394D",
            
"quantity"=> 4,
            
"description"=> "Basketball",
            
"price"=> 450,
          ),
        array(
            
"sku"=> "BL4438H",
            
"quantity"=> 1,
            
"description"=> "Super Hoop",
            
"price"=> 2392,
          ),
      ),
    
"tax"=> 251.42,
    
"total"=> 4443.52,
    
"comments"=> "Late afternoon is best. Backup contact is Nancy Billsmer @ 338-4338.",
  );
var_dump(yaml_emit($invoice));
?>

Результатом выполнения данного примера будет что-то подобное:

string(628) "---
invoice: 34843
date: 980208000
bill-to:
  given: Chris
  family: Dumars
  address:
    lines: |-
      458 Walkman Dr.
              Suite #292
    city: Royal Oak
    state: MI
    postal: 48046
ship-to:
  given: Chris
  family: Dumars
  address:
    lines: |-
      458 Walkman Dr.
              Suite #292
    city: Royal Oak
    state: MI
    postal: 48046
product:
- sku: BL394D
  quantity: 4
  description: Basketball
  price: 450
- sku: BL4438H
  quantity: 1
  description: Super Hoop
  price: 2392
tax: 251.420000
total: 4443.520000
comments: Late afternoon is best. Backup contact is Nancy Billsmer @ 338-4338.
...
"

Смотрите также

  • yaml_emit_file() - Отправляет YAML-представление значения в файл
  • yaml_parse() - Разбирает поток YAML