php中的Yaml嵌套数组

php中的Yaml嵌套数组,php,arrays,laravel,yaml,Php,Arrays,Laravel,Yaml,尝试转换嵌套的php数组 $ar:3 [▼ "sotr" => array:5 [▼ 0 => {#190 ▼ +"sId": "1" +"sFIO": "Родион Романович Мишин" +"sSalary": "7477.59" } 1 => {#192 ▶} 2 => {#193 ▶} 3 => {#194 ▶} 4 => {#195 ▶} ]

尝试转换嵌套的php数组

$ar:3 [▼
  "sotr" => array:5 [▼
    0 => {#190 ▼
      +"sId": "1"
      +"sFIO": "Родион Романович Мишин"
      +"sSalary": "7477.59"
    }
    1 => {#192 ▶}
    2 => {#193 ▶}
    3 => {#194 ▶}
    4 => {#195 ▶}
  ]
  "ticket" => array:5 [▶]
  "task" => array:4 [▶]
]
使用Laravel中的Symfony\Component\YAML\YAML转换为YAML字符串。所以,当我使用

$data = Yaml::dump($ar);
我看到这样的空数组:

sotr:\n
    - null\n
    - null\n
    - null\n
    - null\n
    - null\n

我怎样才能解决这个问题

解决它!也许这个解决方案不是很聪明,但它是有效的。 将数组转换为JSON字符串:

$data = json_decode(json_encode($ar), true);
然后使用Symfony\Component\Yaml\Dumper类

$dumper = new Dumper();
$yaml =  $dumper->dump($data);
这里是YAML格式的字符串:

sotr:
    -
        sId: '1'
        sFIO: 'Родион Романович Мишин'
        sSalary: '7477.59'

解决它!也许这个解决方案不是很聪明,但它是有效的。 将数组转换为JSON字符串:

$data = json_decode(json_encode($ar), true);
然后使用Symfony\Component\Yaml\Dumper类

$dumper = new Dumper();
$yaml =  $dumper->dump($data);
这里是YAML格式的字符串:

sotr:
    -
        sId: '1'
        sFIO: 'Родион Романович Мишин'
        sSalary: '7477.59'

这些是换行符还是两个单独的字符?空序列在哪里(YAML没有集合类型数组)?我在那里看到的唯一序列(假设“\n”是换行符)有5个元素。我需要表字段的名称—sId、sFIO、SSALRY,而不是null。如何创建正确的输出数组?@NastyaKeller Do#190、#192和其他人的意思是这些是对象而不是数组(数字是它们的ID)?我不认为dump可以处理除标量和数组之外的任何东西。可能必须寻找另一种解决方案。感谢您的回复。这些是新行还是两个单独的字符?空序列在哪里(YAML没有集合类型数组)?我在那里看到的唯一序列(假设“\n”是换行符)有5个元素。我需要表字段的名称—sId、sFIO、SSALRY,而不是null。如何创建正确的输出数组?@NastyaKeller Do#190、#192和其他人的意思是这些是对象而不是数组(数字是它们的ID)?我不认为dump可以处理除标量和数组之外的任何东西。可能必须寻找另一种解决方案。谢谢你的回复。