タグ

phpに関するFushiharaのブックマーク (5)

  • print_r の出力文字列を配列に戻すunprint_r関数を作ってみた

    <?php function unprint_r($str, $num=0) {  $data_list = array(); $str_list = explode("\n", $str); $add_list = array(); $indent = ' {' . ($num*8 + 4) . '}'; $pattern = '/^' . $indent . '\[.+\] => .*$/'; $flag = false;  foreach ($str_list as $value) { if (preg_match('/^' .' {' . ($num*8) . '}' . '(Array|\()$/', $value)) { continue; } if (preg_match('/^' .' {' . ($num*8) . '}' . '\)$/', $value)) { bre

    print_r の出力文字列を配列に戻すunprint_r関数を作ってみた
  • PHP5.2.0でserialize()とjson_encode()はどちらが速いのか

    結論としては速度はほぼ同じ。 ただし、配列の階層を深くしたときには面白い結果が出た。 コード(test.php): <?php // Configure Command => './configure' '--disable-all' '--without-all' '--enable-json' $data = array(); for ($i = 0; $i < $argv[1]; $i++) { $data[] = array(uniqid() => uniqid(), $data); // 階層をどんどん深くする配列 //$data[] = uniqid(); // 単純な配列 } if (@$argv[2] == '1') { $buf = json_encode($data); json_decode($buf); } else { $buf = serialize($data

  • 【 ほでなすPHP 】 PHPの基本 -> クラス

    クラス クラスとは 「クラス」は、『「メンバ変数(プロパティ)」という変数と「メンバ関数(メソッド)」という関数を内部に持つ』という特殊な構造をした、「オブジェクト型」の値、「オブジェクト」の構造を定義するものです。“論よりコード”ということで、まずは以下のサンプルと結果を見て雰囲気を掴んで下さい。 <?php class HODE{ var $dog = "wan"; var $cat = "nyan"; var $cow = "mou"; function func(){ echo "HODENASU!!!"; } } $obj = new HODE(); echo $obj->cat; echo "<hr />"; $obj->func(); ?> nyan HODENASU!!! まず、「class HODE{ 定義 }」の部分で、「HODE」という名の「クラス」を定義しています。

  • APIとの通信効率をよくする実装例(1) curl_multi

    こんにちは。ライフスタイル事業部のアリタと申します。 Yahoo!のサービスも裏側ではWebAPIが多用されています。1つのページを構成するのに5、6個のAPIを使うこともざらですが、それではさすがにパフォーマンスが問題となってきます。その原因と対策例を紹介していきましょう。 ■モデルケース 例として、3つのAPIから取得したデータをマッシュアップしたページがあるとします。(ここではサンプルコードを簡単にするため、APIの代わりに以下のRSSで説明としました) Yahoo!トピックス エンターテインメントRSS http://dailynews.yahoo.co.jp/fc/entertainment/rss.xml Yahoo!ミュージックマガジン最新情報RSS http://magazine.music.yahoo.co.jp/rss/ALL/rss.xml Yahoo!検索トレンドR

    APIとの通信効率をよくする実装例(1) curl_multi
  • PEAR :: Manual :: HTTP_Client

    目次HTTP_Client クラス概要 -- シンプルな HTTP クライアントクラスHTTP_Client::HTTP_Client() のコンストラクタ -- コンストラクタHTTP_Client::attach() --  オブジェクトのイベントが通知されるリスナーのリストに Listener を追加する HTTP_Client::currentResponse() -- 直近の HTTP レスポンスを返すHTTP_Client::detach() -- リスナーのリストから Listener を削除するHTTP_Client::get() -- 'GET' HTTP リクエストを送出するHTTP_Client::head() -- 'HEAD' HTTP リクエストを送出するHTTP_Client::post() -- 'POST' HTTP リクエストを送出するHTTP_Clie

  • 1