yaml_emit
(PECL yaml >= 0.5.0)
yaml_emit — Возвращает YAML-представление значения
Описание
$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