数组而不是数组元素

时间:2015-02-06 06:11:27

标签: php arrays json minecraft

我正在尝试将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"
  }
}

1 个答案:

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