IT. Expert System.

PHP

Parse a YAML stream


yaml_parse

(PECL yaml >= 0.4.0)

yaml_parseParse a YAML stream

Description

mixed yaml_parse ( string $input [, int $pos = 0 [, int &$ndocs [, array $callbacks ]]] )

Convert all or part of a YAML document stream to a PHP variable.

Parameters

input

The string to parse as a YAML document stream.

pos

Document to extract from stream (-1 for all documents, 0 for first document, ...).

ndocs

If ndocs is provided, then it is filled with the number of documents found in stream.

callbacks

Content handlers for YAML nodes. Associative array of YAML tag => callable mappings. See parse callbacks for more details.

Return Values

Returns the value encoded in input in appropriate PHP type or FALSE on failure. If pos is -1 an array will be returned with one entry for each document found in the stream.

Examples

Example #1 yaml_parse() example

<?php
$yaml 
= <<<EOD
---
invoice: 34843
date: "2001-01-23"
bill-to: &id001
  given: Chris
  family: Dumars
  address:
    lines: |-
      458 Walkman Dr.
              Suite #292
    city: Royal Oak
    state: MI
    postal: 48046
ship-to: *id001
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.
...
EOD;

$parsed yaml_parse($yaml);
var_dump($parsed);
?>

The above example will output something similar to:

 array(8) { ["invoice"]=> int(34843) ["date"]=> string(10) "2001-01-23" ["bill-to"]=> &array(3) {  ["given"]=>  string(5) "Chris"  ["family"]=>  string(6) "Dumars"  ["address"]=>  array(4) {  ["lines"]=>  string(34) "458 Walkman Dr.   Suite #292"  ["city"]=>  string(9) "Royal Oak"  ["state"]=>  string(2) "MI"  ["postal"]=>  int(48046)  } } ["ship-to"]=> &array(3) {  ["given"]=>  string(5) "Chris"  ["family"]=>  string(6) "Dumars"  ["address"]=>  array(4) {  ["lines"]=>  string(34) "458 Walkman Dr.   Suite #292"  ["city"]=>  string(9) "Royal Oak"  ["state"]=>  string(2) "MI"  ["postal"]=>  int(48046)  } } ["product"]=> array(2) {  [0]=>  array(4) {  ["sku"]=>  string(6) "BL394D"  ["quantity"]=>  int(4)  ["description"]=>  string(10) "Basketball"  ["price"]=>  int(450)  }  [1]=>  array(4) {  ["sku"]=>  string(7) "BL4438H"  ["quantity"]=>  int(1)  ["description"]=>  string(10) "Super Hoop"  ["price"]=>  int(2392)  } } ["tax"]=> float(251.42) ["total"]=> float(4443.52) ["comments"]=> string(68) "Late afternoon is best. Backup contact is Nancy Billsmer @ 338-4338." } 

See Also



Content

Android Reference

Java basics

Java Enterprise Edition (EE)

Java Standard Edition (SE)

SQL

HTML

PHP

CSS

Java Script

MYSQL

JQUERY

VBS

REGEX

C

C++

C#

Design patterns

RFC (standard status)

RFC (proposed standard status)

RFC (draft standard status)

RFC (informational status)

RFC (experimental status)

RFC (best current practice status)

RFC (historic status)

RFC (unknown status)

IT dictionary

License.
All information of this service is derived from the free sources and is provided solely in the form of quotations. This service provides information and interfaces solely for the familiarization (not ownership) and under the "as is" condition.
Copyright 2016 © ELTASK.COM. All rights reserved.
Site is optimized for mobile devices.
Downloads: 1569 / . Delta: 0.00553 с