2017-07-06 16 views
-1

php配列をjsonにエンコードする際に問題があります。私のデータの一部は、 '555'、 '3M'のような刺し傷であり、データの一部は数値です:浮動小数点数または整数です。フロントエンドでは、文字列と数値を正確なソート、検索などのための数字として受け取る必要があります.PhpはJSON_NUMERIC_CHECKですが、これは「555」の値を数値に変換します。文字列のような文字列を最初に変換してからJSON_NUMERIC_CHECKオプションを使用して数値を連結する以外の方法はありますか?php正しいjson番号と文字列をエンコードする

+0

はJSONレスポンスを送信します。 –

+0

文字列にはキャストプリンシパール(文字列)、数字には(int)を使用できます –

+0

@ Ayyoub Dahhane例を挙げてください。 – Lyuba

答えて

0
$a = json_encode(['555', '3M', 123, 1.2, 1.3]); 
var_dump($a);//outputs string(24) "["555","3M",123,1.2,1.3]" 

多分あなたは間違った方法でデータを送信します。あなたのAJAX(POSTメソッド)の後に受け取るものを見てみてください。またはAJAXでデータを正しく送信する方法をお読みください。
http://api.jquery.com/jquery.ajax/

0

実際には、問題は数字でした。私はdbから数値データを照会したので、文字列として受け取った。だから私は数字に文字列を変換し、フロントエンドで正しくエンコードされたデータを受け取った:それは、後に先端のあなたはjavascriptの解析LIBでそれらを変換することができますよう

array_walk_recursive($data, function(&$val) { 
     if (is_numeric($val)) $val = (float) $val; 
    }); 
関連する問題