yaml_emit

Returns the YAML representation of a value

&reftitle.description; `string` `yaml_emit` `mixed` `data` `int` `encoding` YAML_ANY_ENCODING `int` `linebreak` YAML_ANY_BREAK `array` `callbacks`&null;

Generate a YAML representation of the provided `data`.

&reftitle.parameters;

`data`

- The `data` being encoded. Can be any type except a `resource`.

`encoding`

- Output character encoding chosen from `YAML_ANY_ENCODING`, `YAML_UTF8_ENCODING`, `YAML_UTF16LE_ENCODING`, `YAML_UTF16BE_ENCODING`.

`linebreak`

- Output linebreak style chosen from `YAML_ANY_BREAK`, `YAML_CR_BREAK`, `YAML_LN_BREAK`, `YAML_CRLN_BREAK`.

`callbacks`

- Content handlers for emitting YAML nodes. Associative `array` of classname => `callable` mappings. See emit callbacks for more details.

&reftitle.returnvalues;

Returns a YAML encoded `string` on success.

&reftitle.changelog;

&Version; | &Description;
PECL yaml 1.1.0 | The `callbacks` parameter was added.

&reftitle.examples;

### `yaml_emit` example

    <?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"=> 980208000,
        "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"=> "Late afternoon is best. Backup contact is Nancy Billsmer @ 338-4338.",
      );
    var_dump(yaml_emit($invoice));
    ?>

&example.outputs.similar;

    string(628) "---
    invoice: 34843
    date: 980208000
    bill-to:
      given: Chris
      family: Dumars
      address:
        lines: |-
          458 Walkman Dr.
                  Suite #292
        city: Royal Oak
        state: MI
        postal: 48046
    ship-to:
      given: Chris
      family: Dumars
      address:
        lines: |-
          458 Walkman Dr.
                  Suite #292
        city: Royal Oak
        state: MI
        postal: 48046
    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.
    ...
    "

&reftitle.seealso;

- `yaml_emit_file`
- `yaml_parse`