我有以下代码:
$results = $Q->get_posts($args);
foreach ($results as $r) {
print $r['trackArtist'];
}
这是输出:
["SOUL MINORITY"]
["INLAND KNIGHTS"]
["DUKY","LOQUACE"]
我的问题是,如果trackArtist是一个数组,为什么我不能像这样运行implode函数:
$artistString = implode(" , ", $r['trackArtist']);
由于
更新:
是的,它确实是一个字符串,但是从另一侧它作为一个数组离开,所以我假设它也作为一个数组到达。 必须在后面完成一些处理。
我知道如何提取信息,例如: [ “DUKY”, “LOQUACE”]
得到:
DUKY,LOQUACE
感谢您的时间
答案 0 :(得分:1)
看起来它实际上不是一个数组;它是字符串'["DUKY","LOQUACE"]'
数组将打印为Array
。您可以通过以下方式确认:
var_dump($r['trackArtist']);
答案 1 :(得分:1)
对我而言$r['trackArtist']
的内容不是数组。只是常规字符串或对象。而不是print
使用print_r()
或var_dump()
来解决这个问题,然后调整代码以正确处理对象类型。
答案 2 :(得分:1)
它可能是一个JSON字符串。您可以这样做以获得所需的结果:
$a = json_decode($r['trackArtist']); // turns your string into an array
$artistString = implode(', ', $a); // now you can use implode