Как удалить $ из ассоциативного массива с помощью Json_decode в php? - PullRequest
1 голос
/ 25 мая 2010

Я пытаюсь использовать API YouTube для раскрытия некоторых видео для моего сайта. В настоящее время я использую этот код здесь:

//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);

Нет проблем с доступом к определенным элементам ассоциативного массива, однако API-интерфейс youtube помещает $ во многие элементы массива, такие как [media $ group]

Каждый раз, когда я пытаюсь получить доступ к массиву с одним из элементов $, он не работает. Предложения?

Я пробовал preg_replace, но, похоже, не могу правильно понять свое выражение.

1 Ответ

4 голосов
/ 25 мая 2010

У вас должен быть хороший доступ к нему, вам просто нужно убедиться, что вы используете одинарные кавычки, иначе php попытается интерполировать $group как переменную, поэтому:
$youtubeArray['media$group']

И если вы хотите использовать его в preg_replace, вы должны экранировать его обратной косой чертой: \$. $ является действительным идентификатором регулярного выражения, поэтому регулярное выражение срабатывает из-за него.

Если вы все же замените его, вы должны использовать str_replace. В этом нет необходимости вносить (более медленные) регулярные выражения.

...