2010-05-25 62 views
1

我正在尝试使用youtube API为我的网站下拉一些视频。目前,我在这里运行此代码:

//Youtube Videos Pull Down 
$youtubeURL = "http://gdata.youtube.com/feeds/api/videos?alt=json&q=cats+cradle+chapel+hill&orderby=published&max-results=10&v=2"; 
$youtubeSearch = file_get_contents($youtubeURL, true); 
$youtubeArray = json_decode($youtubeSearch, true); 

由于没有访问关联数组。然而,YouTube的API是把$在许多数组元素的..的某些元素,如[传媒$组]

任何问题任何时候我尝试使用其中的$元素之一访问数组,它不起作用。建议?

我试过preg_replace,但似乎无法让我的表情正确。

+0

你能告诉我们一些你试图访问它的代码吗? – ryeguy 2010-05-25 19:25:41

+0

你在引用关键字吗? $ array ['media $ group'] – nuqqsa 2010-05-25 19:29:03

回答

4

你应该能够访问它就好了,你只需要确保使用单引号,否则PHP将尝试进行插值$group作为变量,所以:
$youtubeArray['media$group']

如果你想在preg_replace中使用它,你必须用一个反斜杠来跳过它:\$$是一个有效的正则表达式标识符,所以正则表达式正在被绊住。

如果你确实替换它,你应该使用str_replace。没有必要将(慢)正则表达式带入此处。

+0

+1很好说! – 2010-05-25 19:30:30

+0

Ahh单引号做了诡计。感谢你们! – Chase 2010-05-25 20:46:05

+0

+1你永远不会有足够的单引号。在PHP中没有任何理由使用双引号 - 带连接的单引号分析速度更快,对于大多数习惯于仅提供并置连接的语言的开发人员来说,它们更容易阅读。一个例外是,如果您需要解析像\ n这样的转义字符,其中使用双引号比在您的代码中实际插入换行符更好。 – Daniel 2010-05-26 05:09:38

相关问题