PHP - YAML 数据序列化函数


此扩展可以实现 YAML Ain't Markup Language (YAML) 数据序列化标准。解析和发出由 LibYAML 库处理。

示例


<?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"=> "2001-01-23",
      "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"=> "下午晚些时候最好。备用联系人是李科,电话:020-433008。",
   );

   // 生成 invoice 的 YAML
   $yaml = yaml_emit($invoice);
   var_dump($yaml);

   // 将YAML转换回PHP变量
   $parsed = yaml_parse($yaml);

   // 检查往返转换是否产生了等效结构
   var_dump($parsed == $invoice);
?>

函数列表

函数 描述
yaml_emit_file() 将 value 的 YAML 表示形式发送到文件。
yaml_emit() 返回值的 YAML 表示形式。
yaml_parse_file() 从文件中解析 YAML 流。
yaml_parse() 解析 YAML 流。
yaml_parse_url() 解析来自 URL 的 Yaml 流