Du bist hier: Tips » Scripte » PHP
PHP
Referenzliste

yaml_parse

Yaml Funktionen

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


    Parameter-Liste:
NameBeschreibung
inputDie Zeichenfolge, die als YAML Dokumentenstrom zu analysieren.
posDokument aus Strom zu extrahieren (-1 für alle Dokumente, 0 für erste Dokument, ...).
ndocsWenn ndocs vorgesehen ist, dann wird mit der Anzahl der Dokumente in dem Strom gefunden gefüllt.
callbackInhalt Handler für YAML-Knoten. Assoziatives Array von YAML tag => aufrufbar Zuordnungen.

    Rückgabewerte:
Gibt den Wert des Inputs in die entsprechenden PHP typeIm Fehlerfall WIRD FALSE zurückgegeben codiert .. Wenn pos ist -1 ein Array mit einem Eintrag für jedes Dokument in der Strom gefunden zurückgegeben werden.

    Beschreibung:
Konvertieren Sie alle oder einen Teil eines Dokuments YAML Strom auf eine PHP-Variable.


    Aktiv in Version:
(PECL yaml >= 0.4.0)

    Siehe auch:
Analysiert einen YAML-Stream aus einer Datei
 
Analysiert einen Yaml Strom von einer URL
 
Liefert die YAML Darstellung eines Wertes
 

yaml_emit() - Beispiel:


Eingabe:
<?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);
?>


Ausgabe:
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."
}
Yaml Funktionen