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
data
で渡したデータを YAML 形式にして返します。
パラメータ
data
- エンコードしたいデータ。リソース型以外の任意の型が使えます。
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 ノードの発行用のコンテンツハンドラ。 クラス名 => callable 形式の連想配列となります。 詳細は発行コールバック を参照ください。
返り値
成功した場合に YAML 形式の文字列を返します。
変更履歴
バージョン | 説明 |
---|---|
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. ... "