我正在尝试将Minecraft名称转换为UUID,可以将其转换为“名称历史记录”。我有名字 - > UUID部分下载,但名称历史记录收到错误。
运行此代码,$ uuid变量包含我正在尝试转换为名称历史记录的所有UUID的数组 - 然后我尝试通过API运行所有这些UUID,并且取决于用户的过去名称数量有,添加»图标表示更改。不幸的是,有这样的测试数据:
Foo
Bar (changed to Baz)
输出
Array | Array » Array |
,而不是
Foo | Bar » Baz |
它应该是。我知道我可能把数组作为一个对象,但我不知道我会在那里做什么或者如何获取元素。
(这是代码)
$uuid_real = json_decode($uuid, TRUE);
foreach($uuid_real as $uuid_totest){
$toadd = json_decode(file_get_contents('https://api.mojang.com/user/profiles/' . $uuid_totest['id'] . '/names'), TRUE);
if(count($toadd)==1){
$results .= $toadd['0'] . " | ";
}elseif(count($toadd)==2){
$results .= $toadd['0'] . " » " . $toadd['1'] . " | ";
}elseif(count($toadd)==3){
$results .= $toadd['0'] . " » " . $toadd['1'] . " » " . $toadd['2'] . " | ";
}
以下是$ toadd的var_dump,其中包含一些当前在线用户:
array(1) {
[0]=>
array(1) {
["name"]=>
string(10) "lottie1664"
}
}
array(1) {
[0]=>
array(1) {
["name"]=>
string(12) "wingmanfoutz"
}
}
array(1) {
[0]=>
array(1) {
["name"]=>
string(11) "bigfoot2991"
}
}
array(1) {
[0]=>
array(1) {
["name"]=>
string(13) "mrstampycat05"
}
}
array(1) {
[0]=>
array(1) {
["name"]=>
string(10) "MEHLAWLARZ"
}
}
array(1) {
[0]=>
array(1) {
["name"]=>
string(10) "metboy2002"
}
}
array(1) {
[0]=>
array(1) {
["name"]=>
string(10) "SILVERMAN2"
}
}
array(2) {
[0]=>
array(1) {
["name"]=>
string(11) "salesman200"
}
[1]=>
array(2) {
["name"]=>
string(8) "Quartzic"
["changedToAt"]=>
int(1423055736000)
}
}
array(1) {
[0]=>
array(1) {
["name"]=>
string(13) "MercenaryCrow"
}
}
array(1) {
[0]=>
array(1) {
["name"]=>
string(8) "fishmeal"
}
}
答案 0 :(得分:0)
这是因为$toadd[0]
$toadd[1]
和$toadd[2]
是数组而不是字符串,请在这里提供var_dump($ toadd),我们可以帮助您
编辑:
因此,您可以看到$toadd[x]
下没有字符串,但是数组看起来像这样:
array(1) {
["name"]=>
string(10) "lottie1664"
}
所以修改你的代码并使用:
$toadd[0]['name']
$toadd[1]['name']
$toadd[2]['name']