Array вместо Array Element

Я пытаюсь превратить имена Minecraft в UUID, которые можно преобразовать в «историю имен». У меня есть имя-> 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"}
}

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

Другие решения

Других решений пока нет …

По вопросам рекламы [email protected]