Хорошо, я до сих пор не могу понять, что вы на самом деле пытаетесь выполнить sh, но есть ясно, так это то, что вы не знаете, как выглядят ваши данные, и вы шарите в темноте, пытаясь применить случайные функции и надеясь, что из echo
.
получится что-то осмысленное, используйте var_dump()
. Он расскажет вам, что именно, до мельчайших деталей. Например, var_dump($userdata['guilds']);
точно скажет вам, что это за переменная на самом деле , и позволит вам принять информированное решение о том, что с ней делать дальше.
Например:
$input_json = '[{"id": 1, "guildname": "Server Name ?"}, {"id": 2, "guildname": "Server Name"}]';
$decoded = json_decode($input_json, true);
var_dump($input_json, $decoded);
Вывод:
string(83) "[{"id": 1, "guildname": "Server Name ?"}, {"id": 2, "guildname": "Server Name"}]"
array(2) {
[0]=>
array(2) {
["id"]=>
int(1)
["guildname"]=>
string(16) "Server Name ?"
}
[1]=>
array(2) {
["id"]=>
int(2)
["guildname"]=>
string(11) "Server Name"
}
}
Итак, теперь я знаю, что могу:
foreach( $decoded as $guild ) {
echo "Guild: " . $guild['guildname'] . "\n";
}
Что меня дает:
Guild: Server Name ?
Guild: Server Name
, и если вы хотите по-настоящему улучшить свою отладочную игру, вам следует использовать что-то вроде XDebug и IDE, которая может правильно подключиться к нему.