Warning: file_get_contents(/data/phpspider/zhask/data//catemap/1/php/255.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Php 文件_get_内容不';t匹配复制的值-甚至未修剪_Php - Fatal编程技术网

Php 文件_get_内容不';t匹配复制的值-甚至未修剪

Php 文件_get_内容不';t匹配复制的值-甚至未修剪,php,Php,各位晚上好 我现在有点说不出话来。我使用PHP已经有相当长的时间了,但我无法解码一个简单的JSON字符串 到目前为止,我所了解的是: 代表问题的简单脚本: <?php $twasiapiraw = file_get_contents("https://twasi.net/api/spendencoins/get/41847584?API_KEY=TWASI_PUBLIC_KEY"); $twasiapifake = '{"code":200,"message":"OK","coin

各位晚上好

我现在有点说不出话来。我使用PHP已经有相当长的时间了,但我无法解码一个简单的JSON字符串

到目前为止,我所了解的是:

代表问题的简单脚本:

<?php
  $twasiapiraw = file_get_contents("https://twasi.net/api/spendencoins/get/41847584?API_KEY=TWASI_PUBLIC_KEY");
  $twasiapifake = '{"code":200,"message":"OK","coins":[{"twitch_id":"41847584","coins":0,"twitch_name":"mekalix"}]}';
  var_dump(trim($twasiapiraw));
  echo "<br>";
  var_dump(trim($twasiapifake));
?>

因此,输出完全匹配,此屏幕截图表明: 非常奇怪的是,它们似乎有不同的长度(一个99,另一个96)。我也尝试过不修剪,但我认为可能有一些线结束时中断

JSON是有效的,但当我尝试解码它时,这将导致PHP JSON错误4-语法错误。但我相信,当两个字符串长度相同时,这可能会自行解决。如何使两个字符串匹配

非常感谢您的帮助或提示。

您从API获得的字符串开头有一个

您可以删除它

if (substr($twasiapiraw, 0, 3) == "\xef\xbb\xbf") {
    $twasiapiraw = substr($twasiapiraw, 3);
}
它表示字符串是UTF-8编码的,但无论如何,json_decode只能用于UTF-8编码的字符串。

从API获得的字符串开头有一个

您可以删除它

if (substr($twasiapiraw, 0, 3) == "\xef\xbb\xbf") {
    $twasiapiraw = substr($twasiapiraw, 3);
}

它表示字符串是UTF-8编码的,但是
json\u decode
只对UTF-8编码的字符串有效。

根据您的

判断,我假设您正在尝试在浏览器中查看此内容。您是否查看了原始输出(查看源)?Trim仅从开头和结尾去除空白,而不是在字符串内部。JSON字符串的中间可能有断线或其他字符,可能有控制字符,这些字符是不可见的。看看这个谢谢你的想法!Devon我查看了原始源代码输出,它与@Fran Cerezo完全相同,我将在明天查看,谢谢您的提示!从您的

判断,我假设您正在尝试在浏览器中查看此内容。您是否查看了原始输出(查看源)?Trim仅从开头和结尾去除空白,而不是在字符串内部。JSON字符串的中间可能有断线或其他字符,可能有控制字符,这些字符是不可见的。看看这个谢谢你的想法!Devon我查看了原始源代码输出,它与@Fran Cerezo完全相同,我将在明天查看,谢谢您的提示!