php问题访问数组

时间:2013-04-04 14:25:54

标签: php

我有以下代码:

$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

感谢您的时间

3 个答案:

答案 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