【发布时间】:2017-11-03 10:20:56
【问题描述】:
我在比较 2 个相同的字符串时遇到问题。第一个字符串是从数据库中检索的,另一个是硬编码的。
字符串是{ "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>';
经过一番搜索,建议使用bin2hex(),我已将其缩小为" 字符。
用" 替换数据库值并运行以下代码输出
2671756f743b 用于数据库值,22 用于硬编码值。
echo bin2hex($json_data)."<br>";
echo bin2hex('"')."<br>";
使用strcmp() 比较两个值的正确方法是什么,因为我将做其他代码。
【问题讨论】:
-
什么是 var
$json_data?是否有字符串或 JSON 对象? -
不太清楚您要使用 bin2hex 函数做什么。您也没有显示执行查询的代码以及数据的存储方式。
-
2671756f743b是&quot;,引用字符的html实体; html_entity_decode() 会将其转换为实际的引号字符 -
@Warrior,
bin2hex()函数只是想找出不同之处