hnwの日記

2009-05-01から1ヶ月間の記事一覧

見直されるべきPHP5の組み込みイテレータ

PHP

PHPには5.0.0以降SPL (Standard PHP Libray)という枠組みが導入されています。これにより、Iteratorインターフェースを実装したクラスのインスタンスであれば、foreach文で配列と同じように取り扱えます。自分でクラスを作るときもIteratorを実装すれば使う…

array_unique関数がPHP5.2.10から後方互換性を取り戻します

PHP

「array_unique関数がPHP5.2.9から後方互換性を失いました」の内容について、PHPの中の人も認識を改めたようです。次のようなタレコミがありました。 【速報】「sort()関数は相当おかしい」と PHP 開発者を訴えていた問題で、原告の hnw さんが最高裁で勝訴…

関数に見えて実は言語構造であるようなPHPキーワード一覧

PHP

追記(2009/05/10 09:25):何をもって「関数に見える」かは人によると思いますが、下記のリストはリファレンスマニュアルのURLがfunction.*.phpとなっているものを引っ張ってきました。 PHPには一見関数に見えるけど関数ではないキーワードが多く存在します…

UTF-8→SJIS/EUC-JPの重複文字をまとめてみた

PHP

文字エンコーディングの変換を行うと、異なる2文字が同じ文字に変換されることがあります。このような文字を重複文字と呼ぶことにします。UTF-8→Shift_JISおよびUTF-8→EUC-JPについて、重複文字を自分用の資料としてまとめてみました。 MacOSX上のPHP5.2.9で…

Text_VariationProducerの紹介

PHP

Text_VariationProducerというPHPのクラスを作りましたので、紹介します。 Text_VariationProducerは、指定した全組み合わせの文字列を作り出すようなイテレータです。n重ループや分岐を書く代わりに、文字列の組み合わせパターンを簡単な文法で記述するだけ…