Tech Racho エンジニアの「?」を「!」に。
  • 開発

[PHP] Zend_JsonでAjaxからJSONを簡単に出力する

Ajaxを使う際、PHP側からJSON形式の値を出力したいことは良くあると思います(入力はだいたいPOSTで事足りますね)。

PHPでJSON形式の値を出力したい場合、いちばん簡単なのはjson_encode()です。

//本来はheaderなども正しく処理した方が良いが省略
$list = array('apple', 'orange', 'banana');
echo json_encode($list);

ただし、json_encode()はPHP 5.2.0以上の関数なので、それ未満の環境だとundefined functionでエラーになります。

Zend_Json

リリース後にPHPのバージョン違いに気がついた可哀想な人には、Zend_Jsonがおすすめです。
まずはZend FrameworkのページからZend Frameworkをダウンロードします(minimalでOK)。

そして、回答したフォルダのZend/Json.phpと、Zend/Jsonフォルダをinclude_pathが通ったフォルダにコピーします。

あとは、コード内で

require_once 'Zend/Json.php';
$list = array('apple', 'orange', 'banana');
echo Zend_Json::encode($list);

とやるだけ。
関数の名前が変わるだけで、同じ使い勝手が実現できていますね。これなら一括置換も簡単。

CONTACT

TechRachoでは、パートナーシップをご検討いただける方からの
ご連絡をお待ちしております。ぜひお気軽にご意見・ご相談ください。