0

我有以下代码:

$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"]

要得到 :

杜基,枇杷

谢谢你的时间

4

3 回答 3

1

看起来它实际上不是一个数组;它是字符串'["DUKY","LOQUACE"]'一个数组将被打印为Array. 您可以通过以下方式确认:

var_dump($r['trackArtist']);
于 2013-04-04T14:28:52.043 回答
1

对我来说 content of$r['trackArtist']不是一个数组。只是普通的字符串或对象。而不是print使用print_r()var_dump()弄清楚这一点,然后调整您的代码以正确处理它真正的对象类型。

于 2013-04-04T14:28:54.360 回答
1

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

$a = json_decode($r['trackArtist']); // turns your string into an array
$artistString = implode(', ', $a); // now you can use implode
于 2013-04-04T14:50:07.450 回答