对不起,如果这个标题没有意义,我对在 PHP 中使用 JSON 文件很陌生。我几乎查看了所有地方并多次改写我的问题,我得到的每个答案似乎都不适用于我的 JSON 文件,不确定 Minecraft 是否做了一些不同的事情,或者我是否遗漏了什么。感谢任何对此做出回应的人!
目标
以正确的格式在我的网站上列出我的 Minecraft 服务器上的所有操作员及其 UUID 和 OP 级别。我还想显示当前在服务器上操作的人数。
这是我的 PHP 代码
$serverdir = "../Minecraft Server/";
$json_url = $serverdir."ops.json";
$json = file_get_contents($json_url);
$data = json_decode($json, TRUE);
<?php
foreach ($data as $value) {
echo "$value <br>";
}
该代码目前只吐出阵列5次,我不得不改变$数据到$数据[ 1-5 ],以获得实际的输出,但它输出的用户名,UUID和水平,但我看不出如何格式化这种类型的输出。
这是 JSON 文件
[
{
"uuid": "3afa9281-a239-453f-9538-49b57d9f2d06",
"name": "Deathx90",
"level": 2,
"bypassesPlayerLimit": false
},
{
"uuid": "461e6427-1d5c-43e3-b4ee-f8361884c3a2",
"name": "Command_String",
"level": 2,
"bypassesPlayerLimit": false
},
{
"uuid": "1ab6c2d3-6cae-4937-81af-cf348ca0f16c",
"name": "sarcazsm",
"level": 2,
"bypassesPlayerLimit": false
},
{
"uuid": "83619f6c-d259-4da2-868b-eba807e15b37",
"name": "Monke_Syndrome",
"level": 2,
"bypassesPlayerLimit": false
},
{
"uuid": "584f7a2f-2f8c-453e-a459-6ce8a683f04c",
"name": "Kreyo813",
"level": 2,
"bypassesPlayerLimit": false
}
]
解决后:
您也可以使用 php 对象表示法
$Object = json_decode($json);
foreach($Object as $obj){
echo $obj->uuid,'<br>',
$obj->name,'<br>',
$obj->level,'<br>';
}
您可以使用 count 来获取用户数,仅作为示例
$Object = json_decode($json);
$count = count($Object);
echo '<div><p>Number of OPed Users: (',$count,')</p></div>';
foreach($Object as $obj){
echo '<div><p>',$obj->uuid,'<br>',
$obj->name,'<br>',
$obj->level,'</p></div><hr>';
}
本文收集自互联网,转载请注明来源。
如有侵权,请联系 [email protected] 删除。
我来说两句