数组而不是数组元素

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']