php中的Yaml嵌套数组
尝试转换嵌套的php数组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 ▶} ]
$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可以处理除标量和数组之外的任何东西。可能必须寻找另一种解决方案。谢谢你的回复。