【问题标题】:Data didn't show up on API PHP数据未显示在 API PHP 上
【发布时间】:2019-01-29 13:17:18
【问题描述】:

我是 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'];

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

【问题讨论】:

  • 只需打印 $url3 并检查您是否有编码数据
  • print_r($json3) 查看结果
  • 你能提供一个完整的网址吗?
  • 我尝试使用print_r($json3) 结果是Array ( [lyric] => [err] => not found )

标签: php arrays json api


【解决方案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']

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2021-02-26
    • 2021-09-27
    • 1970-01-01
    • 2013-03-22
    • 1970-01-01
    相关资源
    最近更新 更多