[解決済み] PHP json_encode 数字を文字列としてエンコードする
2022-05-01 01:24:19
質問
PHPのjson_encode関数で一つ問題があります。これは数字を文字列としてエンコードするものです。
array('id' => 3)
になる
"{ ["id": "3", ...)
jsがこれらの値に遭遇すると、文字列として解釈され、数値演算に失敗します。を防ぐ方法をご存知の方はいらっしゃいますか?
json_encode
が数字を文字列としてエンコードしないようにするにはどうしたらよいでしょうか。よろしくお願いします。
どのように解決するのですか?
私は非常に迅速なテストを行いました。
$a = array(
'id' => 152,
'another' => 'test',
'ananother' => 456,
);
$json = json_encode($a);
echo $json;
これは、私が間違っていなければ、あなたが説明したことと同じようなものだと思うのですが?
そして、私は出力として得ています。
{"id":152,"another":"test","ananother":456}
つまり、この場合、整数は文字列に変換されていないのです。
PHPのバージョンによっては、json_encode関連のバグがいくつか修正されています。
このテストは PHP 5.2.6 で行われました。PHP 5.2.9 と 5.3.0 でも同じことが起こりました。
どのバージョンのPHPを使用していますか?あるいは、あなたのテストケースは投稿された例よりも複雑なのでしょうか?
にバグレポートがあるかもしれません。 http://bugs.php.net/ が関係しているのでしょうか?例えば Bug #40503 : json_encode の整数変換が PHP と矛盾している。 ?
たぶん
バグ番号: 38680
をご覧ください。
関連
-
[解決済み】子テーマのCSSが親テーマをオーバーライドしない
-
[解決済み】mysqli_select_db()は、パラメータ1がmysqliであることを期待し、文字列が与えられる。
-
[解決済み】MySQLのカラム数が1行目の値数と一致しない【非公開
-
[解決済み] JavaScriptで複数行の文字列を作成する
-
[解決済み] PHPで配列から要素を削除する
-
[解決済み] PHPでSQLインジェクションを防ぐにはどうしたらいいですか?
-
[解決済み] 数字を通貨文字列としてフォーマットする方法
-
[解決済み] JavaScriptで2つの数値の間の乱数を生成する
-
[解決済み】JavaScriptで10進数を検証する - IsNumeric()
-
[解決済み] リファレンス - このシンボルはPHPで何を意味するのですか?
最新
-
nginxです。[emerg] 0.0.0.0:80 への bind() に失敗しました (98: アドレスは既に使用中です)
-
htmlページでギリシャ文字を使うには
-
ピュアhtml+cssでの要素読み込み効果
-
純粋なhtml + cssで五輪を実現するサンプルコード
-
ナビゲーションバー・ドロップダウンメニューのHTML+CSSサンプルコード
-
タイピング効果を実現するピュアhtml+css
-
htmlの選択ボックスのプレースホルダー作成に関する質問
-
html css3 伸縮しない 画像表示効果
-
トップナビゲーションバーメニュー作成用HTML+CSS
-
html+css 実装 サイバーパンク風ボタン
おすすめ
-
[解決済み】Fatal error: 未定義の関数 sqlsrv_connect() を呼び出した。
-
[解決済み] コマンドの同期がとれていない。
-
[解決済み】変な電話番号を生成するフェイカー?
-
[解決済み】 PHP 未定義関数の呼び出し
-
[解決済み】foreach()に与えられた引数が無効です。)
-
phpのAllowed memory size of 134217728 bytes枯渇問題の解決法
-
[解決済み】phpのシンタックスエラー、予期しないT_IFエラーを修正する方法は?[クローズド]。
-
[解決済み] SSLエラー SSL3_GET_SERVER_CERTIFICATE:証明書の検証に失敗しました。
-
[解決済み] 致命的なエラーです。mysqli_result 型のオブジェクトを使用できません [終了] 。
-
[解決済み】MySQLの結果をJSONエンコードする