ホームページ  >  記事  >  バックエンド開発  >  インターフェースとしてデータを返すPHPの問題

インターフェースとしてデータを返すPHPの問題

WBOY
WBOYオリジナル
2016-06-23 13:45:592263ブラウズ

インターフェイスとしてデータを返すphpの問題
データがある場合、{"status":"0","message":"u9a8cu8bc1u7801u9519u8bef","data":{"a":"1"}},を返します。ここで、データの内部は $result です。$result が空の場合、$result = array(); 出力 {"status":"0","message":"u9a8cu8bc1u7801u9519u8bef","data":[]} が返されます。 data それは角括弧です。{"status":"0","message":"u9a8cu8bc1u7801u9519u8bef","data":{}} の形式でデータを中括弧に変更するにはどうすればよいですか?


ディスカッション(解決策)への返信

通常は必要ありません、そうでない場合は書き直す必要があります

通常は必要ありません、そうでない場合は書き直す必要があります


仕方ないです、フロント-end IOS と Android は強く押しています。この形式が必要です

戻り値は次のようになります
echo json_encode($array)
これを次のように変更します
echo str_replace('[]', '{} ', json_encode($array));

使用方法 JSON_FORCE_OBJECT パラメーターのみを使用します

<?php$a=array();var_dump(json_encode($a,JSON_FORCE_OBJECT));$a=array(1,2,3);var_dump(json_encode($a,JSON_FORCE_OBJECT));$a=array("ret"=>0);var_dump(json_encode($a,JSON_FORCE_OBJECT));



string(2) "{}"string(19) "{"0":1,"1":2,"2":3}"string(9) "{"ret":0}"



JSON_FORCE_OBJECT (整数)
非連想配列の代わりにクラス (オブジェクト) を出力させるには配列。配列が空で、受信側がクラス (オブジェクト) を必要とする場合に特に便利です。 PHP 5.3.0 以降で有効になります。

声明:
この記事の内容はネチズンが自主的に寄稿したものであり、著作権は原著者に帰属します。このサイトは、それに相当する法的責任を負いません。盗作または侵害の疑いのあるコンテンツを見つけた場合は、admin@php.cn までご連絡ください。