私はAPIからデータを取得していますが、長い番号が含まれています(例:7979798798798798798798797987
)。この番号をURLに入れる必要があるので、変数は数値である必要はありませんが、正確にそのまま保持する必要があります。現時点では、PHPは自動的に大きな数値を科学的表記に変換します。私はsprintfのようなこれらすべてのことを試してみてストリングとしてキャストしようとしていますが、それは私のためには機能しません。ここでPHPで大量の文字列を使用可能な文字列に変換する
はデモです:
$myvar = 7979798798798798798798797987; //can't change this as this is from api
echo $myvar; // needs to print out 7979798798798798798798797987
json_decodeで
JSON_BIGINT_AS_STRING
オプションを使用することができる2つの異なるものです。実際にどこかでそれを取得すると、文字列形式でシリアル化されている可能性が高いです。なぜそんなことをしないの? – marioこんにちはマリオ、ご意見ありがとうございます。あなたが言っていることは、私が思ったことです。値をエコーアウトすると、シリアライズされた文字列としてエコーされます。しかし、私のコードを使用しているクライアントは、それが科学的表記法としてレンダリングされていると言っています。 – user1190132
JSON経由で転送されている場合は、floatに自動的に変換される可能性があります(新しいPHPバージョンでは、long intを保持するために 'JSON_BIGINT_AS_STRING'が提供されます)。 – mario