yaml_parse
(PECL yaml >= 0.4.0)
yaml_parse — Analyse un flux YAML
Description
Convertit tout ou partie d'un document YAML provenant d'une chaîne vers une variable PHP.
Liste de paramètres
-
input
-
La chaîne à analyser comme document YAML.
-
pos
-
Le document à extraire du flux (-1 pour tous les documents, 0 pour le premier, ...).
-
ndocs
-
Si le paramètre
ndocs
est fourni, alors il est rempli avec le nombre de documents trouvés dans le flux. -
callbacks
-
Analyseurs de contenu pour les noeuds YAML. Tableau associatif tag YAML => callable. Voir l'analyse des fonctions de rappel pour plus d'informations.
Valeurs de retour
Retourne la valeur encodée de input
dans le type PHP
approprié ou FALSE
si une erreur survient.
Si pos
vaut -1, un tableau sera retourné
avec pour chaque valeur un document trouvé dans le flux.
Exemples
Exemple #1 Exemple yaml_parse()
<?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);
?>
L'exemple ci-dessus va afficher quelque chose de similaire à :
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." }
Voir aussi
- yaml_parse_file() - Analyse un flux YAML depuis un fichier
- yaml_parse_url() - Analyse un flux YAML depuis une URL
- yaml_emit() - Retourne une chaîne représentant une valeur YAML