2017-01-20 1 views
0
print_r(json_decode('{"t":"\u05D0\u05E0\u05D2\u05DC\u05D9\u05EA"}')); 

から、これは読み取り可能なテキストに取り組んでいるとヘブライ語での出力が得られますが、私は、文字列の名前を入れたときに代わりにハードはユニコード

(print_r(json_decode($str)); 

どこ

$str = "\u05ea\u05b5\u05bc\u05dc\u05be\u05d0\u05b8\u05d1";) 

をコード化されたばかり、それは空の出力を提供します

答えて

1

まあ、\u05ea\u05b5\u05bc\u05dc\u05be\u05d0\u05b8\u05d1はJSON文字列ではなく、{"t":"\u05D0\u05E0\u05D2\u05DC\u05D9\u05EA"}です。したがってjson_decodeNULLを返します。

JSON、特に機能json_encode()json_decode()についてお読みください。

+0

$ orignalStr = "\ u05ea \ u05b5 \ u05bc \ u05dc \ u05be \ u05d0 \ u05b8 \ u05d1"。 $ str = "'{"。 "" t "'。": "。$ orignalStr。" "'。"}' ";文字列は同じですが、空の出力を持っています –

+1

いいえ、問題はあります[ここにチェック](http://sandbox.onlinephpfunctions.com/code/665b37013c7678ca73e532efa5fd7a364535d477) – roberto06

+0

あなたは私の一日を作りました、ありがとう男 –

0

文字列が同じではありません。最初のコード例では、文字列はユニコード文字を含む文字列を含むJSONオブジェクトです。 2番目の例では、Unicode文字列ですが、これは有効なJSONではないため、json_decodeは処理できません。

+0

$ orignalStr =" \ u05ea \ u05b5 \ u05bc \ u05dc \ u05be \ u05d0 \ u05b8 \ u05d1" ; $ STR = "" {"。 'T "'。 ":"。$ orignalStr '"'"。 "}"";文字列は同じですが、空の出力があります –

+0

このプラットフォームはコード作成サービスではありません**。あなたはあなたの問題を説明した、私はあなたの問題が存在する理由を説明した。この回答にコードを追加する必要はありませんでした。なぜ私はそうする必要がありますか? –

+0

私は同じプラットフォームから答えを得ました。この新しい情報のおかげでよろしいですか? –

0
$str = '{"t":"\u05D0\u05E0\u05D2\u05DC\u05D9\u05EA"}'; 

あなたの$ strの変数はJSON配列の間違った構文を持ってい.. $ strの中で文字列の上に置く

+0

$ orignalStr = "\ u05ea \ u05b5 \ u05bc \ u05dc \ u05be \ u05d0 \ u05b8 \ u05d1 ";文字列は同じですが、空の出力があります –

+0

いいえThis - $ str = "$ str =" '{" '{' '' t "'。": "。$ orignalStr。'" '' "''"; uはまだ続いuは二重引用符をエスケープする必要があり連結したい場合は... ANY7の道..等;:$ strの= '{ "\ u05D0 \ u05E0 \ u05D2 \ u05DC \ u05D9 \ u05EA" "T"}' と同じではありませんこの..(\") –