*「ふっかつのじゅもんがちがいます。」withぬこ このページをアンテナに追加 RSSフィード

はてなRSSで購読 Bloglinesで購読 Google Readerで購読

2012-09-12

ajiyoshi2012-09-12

[PHP] PHPのjson_encodeで、空の配列と空の連想配列を区別するバッドノウハウ

<?php
$json = array(
    'dict' => (object)array(),
    'list' => array(),
);
//{"dict":{},"list":[]}
echo json_encode($json);
                           

ぐぐっても見つからなかったが monmonさんの解法を id:tomi-ru さんが改善した。

tomi-rutomi-ru 2012/09/12 16:25 空の array() を {} にしたくて JSON_FORCE_OBJECT を使うと {"0":{}} とかにされちゃってマズーってなるのでみんなもきをつけよう (`・ω・́)ゝ

tomi-rutomi-ru 2012/09/13 18:30 あと普通に連想配列のつもりだったのに、キーがたまたま数字(にみえる表現)で0から順に昇順だったら

$foo= array(
'0' => "foo",
'1' => "bar",
);

["foo","bar"] と 配列扱いになてしまうので、連想配列のつもりなら (object) つけよう (`・ω・́)ゝ

リンク元