Documentación offline PHP master

yaml_parse

master Ver versión oficial en línea Licencia CC-BY-3.0Descargado el 2026-08-02

En esta página

yaml_parse

Analiza una secuencia de texto en formato YAML

Descripción#

yaml_parse(string $input, [int $pos], [int $ndocs], [array $callbacks]): mixed
```php

Convierte toda o parte de una secuencia de texto en YAML a una variable en PHP.

## Parámetros

`input`  
La secuencia de texto (`string`) a analizar en formato YAML.

`pos`  
Documento YAML a extraer desde la secuencia de texto (`-1` para analizar todos los documentos, `0` solo para el primer documento, etc).

`ndocs`  
Si se facilita `ndocs`, se completará con el número de documentos encontrados en la secuencia de texto.

`callbacks`  
Controlador de contenido para los nodos YAML. Es un `array` asociativo de etiquetas YAML =\> asociando sus `callable` correspondientes. Ver [Analizar callbacks](#yaml.callbacks.parse) para más información.

## Valores devueltos

Devuelve el valor codificado de `input` en el formato apropiado de PHP o `false` si ocurre un error. Si el valor de `pos` es `-1` devolverá un `array` con una entrada por cada documento encontrado en el texto.

## Ejemplos

Ejemplo de `yaml_parse`

```php

Resultado del ejemplo anterior es similar a:

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."
}

Notas#

[!WARNING] El procesamiento de las entradas de los usuarios no confiables con yaml_parse es peligroso si el uso de unserialize está habilitado para los nodos usando la etiqueta !php/object. Este comportamiento puede ser desactivado por el uso de el ajuste ini yaml.decode_php.

Véase también#

yaml_parse_file, yaml_parse_url, yaml_emit