数据未显示在API PHP上

时间:2019-01-29 13:17:18

标签: php arrays json api

我是PHP的新手,我尝试使用API​​来获取歌词。我的代码有问题,因为没有显示数据,但是没有错误消息出现。这是我的代码:

$url3 = file_get_contents("http://lyric-api.herokuapp.com/api/find/". urlencode($artist)."/". urlencode($nm_track));
$json3 = json_decode($url3, true);
$lyrics = $json3['lyric'];

请查看代码,我只想知道错误在哪里?

1 个答案:

答案 0 :(得分:1)

编辑/更新:如果艺术家/歌曲中有空格,则应使用rawurlencode($artist). "/" . rawurlencode($nm_track),以便将空格转换为%20而不是+urlencode()会。

<?php
$artist='queen';
$nm_track='bohemian rhapsody';
echo rawurlencode($artist) . "/" . rawurlencode($nm_track);
$url3 = file_get_contents("http://lyric-api.herokuapp.com/api/find/". rawurlencode($artist). "/" . rawurlencode($nm_track));
$json3 = json_decode($url3, true);

$lyrics = $json3['lyric'];
echo $lyrics;

输出: 这就是现实的生活吗?这只是幻想吗? ...

如果您还想先测试是否有错误(艺术家/歌曲数据不可用),则可以检出元素$json3['err']