用PHP读取Yaml
有人知道我如何用php读取yaml文件吗?我想要的是一个读者 我和我的朋友正在创建Minecraft服务器,我们希望将服务器连接到站点。为此,我们需要一个读取器来读取服务器文件中的YAML文件。此文件调用users.yml,其中包含下一个代码:用PHP读取Yaml,php,html,yaml,Php,Html,Yaml,有人知道我如何用php读取yaml文件吗?我想要的是一个读者 我和我的朋友正在创建Minecraft服务器,我们希望将服务器连接到站点。为此,我们需要一个读取器来读取服务器文件中的YAML文件。此文件调用users.yml,其中包含下一个代码: users: 80679a11-1d47-3a0e-8346-4790ee4304fc: <<<< Player Code. group: - Admin
users:
80679a11-1d47-3a0e-8346-4790ee4304fc: <<<< Player Code.
group:
- Admin <<<< Player Group.
options:
name: JamesMarch <<<< Player Nick Name.
56874a35-8f52-5f2c-7843-7788je9670tb: <<<< Player Code.
group:
- Admin <<<< Player Group.
options:
name: Angelow98 <<<< Player Nick Name.
55026444-cb34-3a27-a270-d7d07fccca0a: <<<< Player Code.
group:
- Helper <<<< Player Group.
options:
name: iDatSnoow_ <<<< Player Nick Name.
用户:
80679a11-1d47-3a0e-8346-4790ee4304fc:您可以使用以下方法解析YAML并将数组转储到YAML:
现在,为了分析您的示例,我替换了我不知道如何在我的网站中安装Symfony。。。如何安装?您不需要所有的Symfony,只需要Yaml库。现在,通过Composer安装PHP库是最好的做法:一旦设置好,一个简单的Composer require symfony/yaml
将下载它并通过Composer的自动加载程序提供。无论如何,这超出了这个问题的范围,所以如果您无法让它工作,请在so上创建一个新问题。它给了我以下错误:解析错误:语法错误,意外的'a11'(t_字符串),第38行/home/u471174751/public_html/staff.php中的']',第38行是:[80679a11-1d47-3a0e-8346-4790ee4304fc]=>数组吗
84569a84-5d77-3a5e-8547-4720ee4304fc: <<<< Player Code.
group:
- NewPlayer <<<< Player Group (NewPlayer is the default group)
options:
name: mumiant_ <<<< Player Nick Name.
<h1>Staff</h1>
<h2>Administrators</h2>
<p>Angelow98</p>
<p>JamesMarch</p>
<h2>Helper</h2>
<p>iDatSnoow_</p>
use Symfony\Component\Yaml\Yaml;
$yaml = Yaml::parse(file_get_contents('/path/to/file.yml'));
$yamlString = Yaml::dump($yaml);
$data = \Symfony\Component\Yaml\Yaml::parse('users:
80679a11-1d47-3a0e-8346-4790ee4304fc: # Player Code.
group:
- Admin # Player Group.
options:
name: JamesMarch # Player Nick Name.
56874a35-8f52-5f2c-7843-7788je9670tb: # Player Code.
group:
- Admin # Player Group.
options:
name: Angelow98 # Player Nick Name.
55026444-cb34-3a27-a270-d7d07fccca0a: # Player Code.
group:
- Helper # Player Group.
options:
name: iDatSnoow_ # Player Nick Name.');
$groups = array();
foreach ($data['users'] as $playerCode => $player) {
$firstGroupName = $player['group'][0];
$groups[$firstGroupName][$playerCode] = $player;
}
Array
(
[Admin] => Array
(
[80679a11-1d47-3a0e-8346-4790ee4304fc] => Array
(
[group] => Array
(
[0] => Admin
)
[options] => Array
(
[name] => JamesMarch
)
)
[56874a35-8f52-5f2c-7843-7788je9670tb] => Array
(
[group] => Array
(
[0] => Admin
)
[options] => Array
(
[name] => Angelow98
)
)
)
[Helper] => Array
(
[55026444-cb34-3a27-a270-d7d07fccca0a] => Array
(
[group] => Array
(
[0] => Helper
)
[options] => Array
(
[name] => iDatSnoow_
)
)
)
)
<?php foreach($groups as $group => $players): ?>
<h1><?= $group ?></h1>
<?php foreach ($players as $playerCode => $player): ?>
<p><?= $player['options']['name'] ?> </p>
<?php endforeach; ?>
<?php endforeach; ?>