2017-11-03 19 views
2

2つの同一の文字列を比較する際に問題があります。最初の文字列はデータベースから取得され、もう1つの文字列はハードコードされます。php - 2異なる長さを示す同一の文字列

文字列は{ "name":"John", "age":30, "car":null }です。

私はこのコードを最初に実行しました。データベース文字列の長さは79文字、ハードコード文字列の長さは39文字です。それはbin2hex()を使用することが提案された検索と私は"文字にそれを絞られていることを利用し、いくつかの後

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

"

とデータベース値を交換し、ハードコードされた値のデータベース値と22次のコード出力

2671756f743bを実行します。

echo bin2hex($json_data)."<br>"; 
echo bin2hex('"')."<br>"; 

は私が他のコードを実行される比較に基づいてstrcmp()を使用して比較し、両方の値を取得するための正しい方法は何ですか。

+0

var '$ json_data'とは何ですか?文字列、またはJSONオブジェクトがありますか? – panther

+0

bin2hex関数で何をしようとしているのかはあまり明確ではありません。また、クエリを実行するコードやデータの格納方法も表示されません。 – Warrior

+1

'2671756f743b'は' " 'で、引用文字のhtmlエンティティです。 [html_entity_decode()](http://php.net/manual/en/function.html-entity-decode.php)は実際の引用文字 –

答えて

1

@マーク・ベイカーのおかげで、私はhtml_entity_decode()のデータベース値にしなければならなかったので、両方の値が一致するようになりました。

関連する問題