Warning: file_get_contents(/data/phpspider/zhask/data//catemap/1/php/239.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-2显示不同长度的相同字符串_Php_String_Strcmp_Bin2hex - Fatal编程技术网

php-2显示不同长度的相同字符串

php-2显示不同长度的相同字符串,php,string,strcmp,bin2hex,Php,String,Strcmp,Bin2hex,我在比较两个相同的字符串时遇到问题。第一个字符串是从数据库检索的,另一个是硬编码的 字符串是{“name”:“John”,“age”:30,“car”:null} 我首先运行了这段代码,数据库字符串的长度为79个字符,硬编码字符串的长度为39个字符 echo '<pre>';var_dump($json_data);echo '</pre>'; echo '<pre>';var_dump('{ "name":"John", "age":30, "car":nu

我在比较两个相同的字符串时遇到问题。第一个字符串是从数据库检索的,另一个是硬编码的

字符串是
{“name”:“John”,“age”:30,“car”:null}

我首先运行了这段代码,数据库字符串的长度为79个字符,硬编码字符串的长度为39个字符

echo '<pre>';var_dump($json_data);echo '</pre>';
echo '<pre>';var_dump('{ "name":"John", "age":30, "car":null }');echo '</pre>';

使用strcmp()比较两个值的正确方法是什么?基于比较,我将执行其他代码。

感谢@Mark Baker,我必须
html\u entity\u decode()
数据库值,现在两个值都匹配了

有一个类似的问题,其中两个字符串似乎是相同的,通过以下方式设法解决其中一个字符串的问题

  • json\u encode()
    字符串,这将导致null
  • 运行
    json\u last\u error\u msg()
    以获取任何编码错误。获取格式错误的UTF-8字符,可能编码不正确
  • 在字符串上运行
    utf8\u encode()
    可以修复编码错误

    • 什么是var
      $json\u数据
      ?是否存在字符串或JSON对象?不太清楚您试图用bin2hex函数做什么。您也不会显示执行查询的代码以及数据的存储方式。
      2671756f743b
      ,是引号字符的html实体;将其转换为实际引号character@Warrior,bin2hex()函数只是试图找出不同之处
      echo bin2hex($json_data)."<br>";
      echo bin2hex('"')."<br>";