PHP访问数组出错


php issue accessing array

我有以下代码:

$results = $Q->get_posts($args);
foreach ($results as $r) {
    print $r['trackArtist'];
}

输出:

["SOUL MINORITY"]
["INLAND KNIGHTS"]
["DUKY","LOQUACE"]

我的问题是,如果trackArtist是一个数组,为什么我不能像这样运行内爆函数:

$artistString = implode(" , ", $r['trackArtist']);

感谢更新:

是的,它确实是一个字符串,但从另一边它离开作为一个数组,所以我假设它到达这里也作为一个数组。后面一定要做一些处理。

知道我如何提取信息,例如从:[" DUKY"、"LOQUACE"

获取:

DUKY, LOQUACE

感谢您的宝贵时间

可能是JSON字符串。您可以这样做以获得所需的结果:

$a = json_decode($r['trackArtist']); // turns your string into an array
$artistString = implode(', ', $a); // now you can use implode

看起来它实际上不是一个数组;它是字符串'["DUKY","LOQUACE"]'一个数组将被打印为Array。您可以使用以下命令确认:

var_dump($r['trackArtist']);

对我来说,$r['trackArtist']的内容不是数组。只是普通的字符串或对象。而不是print使用print_r()var_dump()来弄清楚这一点,然后调整你的代码与对象的类型正确工作,它真的是