--- %YAML:1.0 test: Simple Sequence brief: | You can specify a list in YAML by placing each member of the list on a new line with an opening dash. These lists are called sequences. yaml: | - apple - banana - carrot php: | array('apple', 'banana', 'carrot') --- test: Sequence With Item Being Null In The Middle brief: | You can specify a list in YAML by placing each member of the list on a new line with an opening dash. These lists are called sequences. yaml: | - apple - - carrot php: | array('apple', null, 'carrot') --- test: Sequence With Last Item Being Null brief: | You can specify a list in YAML by placing each member of the list on a new line with an opening dash. These lists are called sequences. yaml: | - apple - banana - php: | array('apple', 'banana', null) --- test: Nested Sequences brief: | You can include a sequence within another sequence by giving the sequence an empty dash, followed by an indented list. yaml: | - - foo - bar - baz php: | array(array('foo', 'bar', 'baz')) --- test: Mixed Sequences brief: | Sequences can contain any YAML data, including strings and other sequences. yaml: | - apple - - foo - bar - x123 - banana - carrot php: | array('apple', array('foo', 'bar', 'x123'), 'banana', 'carrot') --- test: Deeply Nested Sequences brief: | Sequences can be nested even deeper, with each level of indentation representing a level of depth. yaml: | - - - uno - dos php: | array(array(array('uno', 'dos'))) --- test: Simple Mapping brief: | You can add a keyed list (also known as a dictionary or hash) to your document by placing each member of the list on a new line, with a colon separating the key from its value. In YAML, this type of list is called a mapping. yaml: | foo: whatever bar: stuff php: | array('foo' => 'whatever', 'bar' => 'stuff') --- test: Sequence in a Mapping brief: | A value in a mapping can be a sequence. yaml: | foo: whatever bar: - uno - dos php: | array('foo' => 'whatever', 'bar' => array('uno', 'dos')) --- test: Nested Mappings brief: | A value in a mapping can be another mapping. yaml: | foo: whatever bar: fruit: apple name: steve sport: baseball php: | array( 'foo' => 'whatever', 'bar' => array( 'fruit' => 'apple', 'name' => 'steve', 'sport' => 'baseball' ) ) --- test: Mixed Mapping brief: | A mapping can contain any assortment of mappings and sequences as values. yaml: | foo: whatever bar: - fruit: apple name: steve sport: baseball - more - python: rocks perl: papers ruby: scissorses php: | array( 'foo' => 'whatever', 'bar' => array( array( 'fruit' => 'apple', 'name' => 'steve', 'sport' => 'baseball' ), 'more', array( 'python' => 'rocks', 'perl' => 'papers', 'ruby' => 'scissorses' ) ) ) --- test: Mapping-in-Sequence Shortcut todo: true brief: | If you are adding a mapping to a sequence, you can place the mapping on the same line as the dash as a shortcut. yaml: | - work on YAML.py: - work on Store php: | array(array('work on YAML.py' => array('work on Store'))) --- test: Sequence-in-Mapping Shortcut todo: true brief: | The dash in a sequence counts as indentation, so you can add a sequence inside of a mapping without needing spaces as indentation. yaml: | allow: - 'localhost' - '%.sourceforge.net' - '%.freepan.org' php: | array('allow' => array('localhost', '%.sourceforge.net', '%.freepan.org')) --- todo: true test: Merge key brief: | A merge key ('<<') can be used in a mapping to insert other mappings. If the value associated with the merge key is a mapping, each of its key/value pairs is inserted into the current mapping. yaml: | mapping: name: Joe job: Accountant <<: age: 38 php: | array( 'mapping' => array( 'name' => 'Joe', 'job' => 'Accountant', 'age' => 38 ) )