There isn't an option for indenting depth so it's always two spaces. If you want more than this you can use a simple regex.
Converting from two spaces to four:
<?php
$yaml = preg_replace('/^( +)/m', '$1$1', $yaml);
?>
Add two more $1 into the replacement for eight spaces.yaml_emit
Почист и полокален преглед на PHP референцата, со задржана структура од PHP.net и подобра читливост за примери, секции и белешки.
yaml_emit
Референца за `function.yaml-emit.php` со подобрена типографија и навигација.
yaml_emit
(PECL yaml >= 0.5.0)
yaml_emit — (PECL yaml >= 0.5.0)
= NULL
mixed
$data,int
$encoding Враќа YAML претстава на вредност,int
$linebreak = YAML_ANY_ENCODING,array
$callbacks = null): string
= YAML_ANY_BREAK data.
Параметри
data-
На
dataСите стринг податоци мора да бидат UTF-8 кодирани. resource. encoding-
Генерирајте YAML претстава на даденото
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-
Излезна стил на прекин на редови избрано од array Обработувачи на содржина за емитување на YAML јазли. Асоцијативни callable мапирања. Погледнете од име на класа => за повеќе детали.
Вратени вредности
callback за емитување string на успешен исход.
Дневник на промени
| Верзија | = NULL |
|---|---|
| Враќа YAML кодирано |
На callbacks параметар беше додаден.
|
Примери
Пример #1 yaml_emit() example
<?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 поток
Белешки од корисници 2 забелешки
Note that NULL values will be converted to the tilde character "~".
This can be somehow counter-intuitive, but that is absolutely legit, and it seems it is a standard recognized by every Yaml parser. So, don't worry about that. Yaml reference:
http://yaml.org/spec/1.2-old/spec.html#id2805071