PHP

PHPでシーザー暗号

PHP

PHPでソート

PHP

今日の新卒コードレビューのお題。 文字列の数字を昇順にソートする。 $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;…

PHPで文字列を反転させる

PHP

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

PHPのrange

PHP

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

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

PHP

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

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

PHP

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

PHPのforeach

PHP

変数のスコープでかなりはまってしまった。 コードは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 } > <key><php e(h($key)) ></php></key></php></php>

PHPのarray_search

PHP

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

PHPでフィボナッチ数列

PHP

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

PHPのstatic

PHP

以前書いた記事 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_onc…

PHPのtime()

PHP

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

PHPのリファレンス

PHP

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

PHPで期間指定のタイマー

PHP

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

PHPで値の交換

PHP

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

PHPでメソッドチェーン

PHP

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

PHPでYAML

PHP

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