PHP

倍返しだ!

PHP

暇すぎたので倍返しするPHP Libraryをつくりました。 composerでinstallもできます。 Packagist https://packagist.org/packages/tnnsst35/naokihanzawa GitHub https://github.com/tnnsst35/naokihanzawa 倍返しは流行語大賞もとった有名な言葉ですが、残念…

PHPのモジュールがエラー

PHP

PHPのバージョンを上げたらxdebugとmongoがエラーはいて動かなくなった。 モジュールを再インストールしたらなおりました。 PHPのバージョンアップ PHP 5.3.x → 5.4.20 エラー [bash] xdebug Failed loading /usr/lib64/php/modules/xdebug.so: /usr/lib64/p…

PHPでO(n)のフィボナッチ数

PHP

社内のLTで<a href="https://twitter.com/#!/tonnyxu" target="_blank">@TonnyXu</a>さんがフィボナッチの話してた。 for文での書き方は頭の中になかったのでメモ。 [php] function fib($n) { $currentFib = 0; $nextFib = 1; for ($i = 0;$i < $n;$i++) { $sum = $currentFib + $nextFib; $currentFib = $nextFib; $nextFi…

運命のポケモン診断 ☆ キミに決めた!

<a href="http://service.tnnsst35.me/pokemonkimeta/" target="_blank">運命のポケモン診断 ☆ キミに決めた!</a> をつくった。 まぁやってることはただのフォーム遷移だが。 ポケモンの画像と名前をとってくるスクリプトを書いたりもした。 少し前に作ったCakePHPをjQueryMobileで拡張した、スマホページ用のフレームワークを再利用…

CakePHP2.0の初期設定とcakeをbakeで焼きましょう

<a href="http://atnd.org/events/22721" target="_blank">CakePHP Advent Calendar 2011</a>に触発されたので、「勝手にCakePHP Advent Calendar 2011」ということにして記事を書いてみます。 お題は「CakePHP2.0の初期設定とcakeをbakeで焼きましょう」です。 CakePHPをインストール とりあえずCakePHPを落とします。 2…

PHPでCUIすごろくをつくるの巻

PHP

今年の上半期は「すごろく」のソーシャルゲームを作っていました。 特に意味はないけれど、PHPを忘れないための復習と今年の成果のひとつとしてすごろくを作ってみた。 ただし、あまり時間もないのでCUI && データベースは使わない簡易版で。 すごろくの要素…

PHPでシーザー暗号

PHP

<div class="section"> </div>

PHPで転置行列

PHP

<div class="section"> $row) { foreach ($row as $col_k => $col) { $transpose[$col_k][$row_k…</div>

PHPでソート

PHP

<div class="section"> 今日の新卒コードレビューのお題。 文字列の数字を昇順にソートする。 $str = '20110801'; echo bubble_sort($str) . "\n"; echo quick_sort($str) . "\n"; function bubble_sort($str) { $n = strlen($str) - 1; for ($i = 0;$i < $n;$i++) { for ($j = $n</div>…

PHPで文字列を反転させる

PHP

<div class="section"> 来週の新卒研修コードレビューのテーマらしい。 ぱっと思いついた方法だけ載せてとく。 </div>

PHPのrange

PHP

<div class="section"> array(1000, 900, 800, 700, 600, 500, 400, 300, 200, 100); みたいに-100刻みの配列をつくりたくてなにか良い方法はないかと考えた。 そこでよく使っているPHPのrange関数でできるのかなーと思ってdocをみてみた。 ※値が増加するパターンでしか使ったこと</div>…

PHPで2-legged OAuthによるAPIアクセス

PHP

<div class="section"> OAuthの実装の仕組みを理解するためにPHPでMyOAuthクラスなるものを自分で作った。 mixiの「2-legged OAuthによるAPIアクセス」を参考にしてるよ。 http://developer.mixi.co.jp/appli/spec/mob/2-legged-oauth ※「こうして生成されたパラメータをAuthoriza</div>…

PHPで画像フォーマットの変換

PHP

<div class="section"> テストでJPEG画像とPNGに変換する必要があったので、 フォームからJPEG画像をアップして、テンポラリに置かれた画像をPNGに変換するプログラムを書いた。 $path = $_FILES['image']['tmp_name']; if (is_uploaded_file($path)) { $new_path_png = 'hoge.png</div>…

PHPのforeach

PHP

<div class="section"> 変数のスコープでかなりはまってしまった。 コードはCakePHP1.2です。 controller $items = array( 'HOGE_0', 'HOGE_1', 'HOGE_2', 'HOGE_3' ); $this->set('items', $items); $this->set('key', 'a:1:{s:18:"hoge";s:2:"24";}'); view <php foreach ($items as $key => $item) { > <item><php e(h($item)) ></item> <php } > </php></php></div>

PHPのarray_search

PHP

<div class="section"> keyと値を逆の立場で使いたいときにはarray_search。 $r = array( 'hoge' => 1, 'foo' => 2, 'bar' => 3, ); $result = array_search(2, $r); //foo 参考 http://www.php.net/manual/ja/function.array-search.php</div>

PHPでフィボナッチ数列

PHP

<div class="section"> id:brickさんに言われて、PHPでフィボナッチ数列を書いたのでのせておく。 フィボナッチ数列についてはコチラ $n = 10; echo 'fibonacci(' . $n . ') = '; echo fibonacci($n) . "\n"; function fibonacci($n) { $n = $n - 2; if ($n === -2) return 0; if </div>…

PHPのstatic

PHP

<div class="section"> 以前書いた記事 http://d.hatena.ne.jp/tnnsst35/20091202/1259761913 どうやら勘違いしていたようです。 <b>test.php</b> class test { public function display($message = '') { echo htmlspecialchars($message) . "\n"; return true; } } <b>hoge.php</b> require_on</div>…

PHPのtime()

PHP

<div class="section"> ちょっとテスト。 echo 'strtotime('now') : ' . strtotime('now'); echo '<br />'; echo 'time() : ' . time(); echo '<br />'; <br /> 出力 strtotime('now') : 1261485724 time() : 1261485724 同じだね。</div>

PHPのリファレンス

PHP

<div class="section"> PHPのリファレンスを触ったのでメモ書き。 PHP において、リファレンスとは同じ変数の内容を異なった名前で コールすることを意味します。これは C のポインタとは異なります。 リファレンスを使ってポインタの演算をすることはできませんし、 リファレンス</div>…

PHPで期間指定のタイマー

PHP

<div class="section"> ある期間中のみ動作する処理をタイマー設定したいときに便利な関数をつくっておくとなにかと重宝する。 public function in_time_range($from, $to) { $now = time(); $from = strtotime($from); $to = strtotime($to); if ($from <= $now && $now <= $to) </div>…

PHPで値の交換

PHP

<div class="section"> 先日、BuzzurlのブクマでみたPHPの値の交換がスゴかった。 aとbの値を交換したいときに、僕がすぐに思いつくのは以下のソースコードです。 $a = "First"; $b = "Second"; swap($a, $b); function swap(&$a, &$b) { $tmp = $a; $a = $b; $b = $tmp; } 次に、</div>…

PHPでメソッドチェーン

PHP

<div class="section"> メソッドチェーンといって、オブジェクトを連ねて処理させる方法がある。 class Hoge { function Hoge() { } public function eh($str) { echo htmlspecialchars($str); } } new Hoge()->eh("この引数が表示される"); ※Hoge::eh("この引数が表示される");と</div>…

PHPでYAML

PHP

<div class="section"> PHPでYAMLを扱う場合、 「Spyc」という便利なライブラリがあるので、Spycを使います。 以下のサイトからソースコードをダウンロードし、適当なディレクトリに配置します。 http://spyc.sourceforge.net/ YAMLファイルからデータを読み込む方法 例として、以</div>…