数组而不是数组元素
Array instead of Array Element
我正在尝试将 Minecraft 名称转换为 UUID,它可以转换为 "name history"。我有 name->UUID 部分,但名称历史出现错误。
运行 这段代码中,$uuid 变量包含我试图转换成名称历史的所有 UUID 的数组 - 然后我尝试 运行 通过 API,并根据用户有多少过去的名字,添加 » 图标来表示更改。不幸的是,测试数据是这样的:
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'] . " | ";
}
这里是 var_dump 一些当前在线用户的 $toadd:
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"
}
}
因为$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']
我正在尝试将 Minecraft 名称转换为 UUID,它可以转换为 "name history"。我有 name->UUID 部分,但名称历史出现错误。
运行 这段代码中,$uuid 变量包含我试图转换成名称历史的所有 UUID 的数组 - 然后我尝试 运行 通过 API,并根据用户有多少过去的名字,添加 » 图标来表示更改。不幸的是,测试数据是这样的:
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'] . " | ";
}
这里是 var_dump 一些当前在线用户的 $toadd:
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"
}
}
因为$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']