2013-04-04 73 views
0

我有以下代码:PHP的问题访问数组

$results = $Q->get_posts($args); 

foreach ($results as $r) { 
    print $r['trackArtist']; 
} 

这是输出:

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

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

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

感谢

UPDATE:

是的,它是一个字符串确实,但是从另一面它留下一个数组,所以我认为它到达一个数组这里也。 后面必须做一些处理。

任何想法,我怎么能提取信息,例如: [ “DUKY”, “LOQUACE”]

获得:

DUKY,LOQUACE

感谢您的时间

+1

这似乎不是一个数组,但可能是一个对象? – Zeal 2013-04-04 14:28:16

+0

你为什么认为'trackArtist'是数组? – hjpotter92 2013-04-04 14:28:26

+0

尝试'的var_dump($ R [ 'trackArtist']);'代替'打印();',以检查是否它实际上是一个数组。 – 2013-04-04 14:28:27

回答

1

这可能是一个JSON字符串。你可以这样做,以得到预期的结果:

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

谢谢!有用 ! – 2013-04-04 15:03:12

+0

不客气。 – Mischa 2013-04-04 15:03:42

1

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

var_dump($r['trackArtist']); 
1

对我来说$r['trackArtist']不是数组。只是常规的字符串或对象。取而代之的print使用print_r()var_dump()摸不着头脑,然后调整你的代码与对象的类型真的是正常工作。

+0

我想他的意思'$ R [“trackArtist”]'是一个数组,而不是“trackArtist”。 – Mido 2013-04-04 14:42:56

+0

是的。我提到了这一点。编辑 – 2013-04-04 14:44:19