Warning: file_get_contents(/data/phpspider/zhask/data//catemap/3/html/73.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
用PHP读取Yaml_Php_Html_Yaml - Fatal编程技术网

用PHP读取Yaml

用PHP读取Yaml,php,html,yaml,Php,Html,Yaml,有人知道我如何用php读取yaml文件吗?我想要的是一个读者 我和我的朋友正在创建Minecraft服务器,我们希望将服务器连接到站点。为此,我们需要一个读取器来读取服务器文件中的YAML文件。此文件调用users.yml,其中包含下一个代码: users: 80679a11-1d47-3a0e-8346-4790ee4304fc: <<<< Player Code. group: - Admin

有人知道我如何用php读取yaml文件吗?我想要的是一个读者

我和我的朋友正在创建Minecraft服务器,我们希望将服务器连接到站点。为此,我们需要一个读取器来读取服务器文件中的YAML文件。此文件调用users.yml,其中包含下一个代码:

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; ?>