(PECL yaml >= 0.4.0)
Parse a YAML stream
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.
Returns:
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:
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:
Please login to continue.