PHP

『数字混じり文字列ソート』投稿

『どう書く?.org』に投稿。 お題はこちら。 自然順アルゴリズムで配列をソートしてくださいというものです。 例えば、1.txt, 10.txt, 2.txtであれば、1.txt, 10.txt, 2.txt ではなく、1.txt, 2.txt, 10.txt というように。 PHPではnatcasesort()と

『文字列で+を表示する』投稿

『どう書く?.org』連投。 お題はこちら。 与えられた文字列で十字を描けというもの。 PHPで書(描)きました。 ブラウザで出力するなら<pre>タグで括ると良い。 $str = "abracadabra"; $slen = strlen( $str ); $bar = $str.$str[0]; echo sprintf( "% ".strval($slen*2+1)."s\n", $bar ); for ( $i = 0; $i < $slen-1; $i++ ) { echo sprintf( "% ".strval($slen+1)."s% ".strval($slen)."s\n", $str[$slen-$i-1], $str[$i+1] ); } echo sprintf( "%s% ".strval($slen*2)."s\n",

『階層的なキーの連想配列化』投稿

『どう書く?.org』への投稿ひさびさ。 お題はこちら。 今回は与えられたテーブルを元に階層的な連送配列を作りなさいというもの。 配列を&で渡しているのがポイント。 $tokyo = array( array(‘東京都’, ‘区部’, ‘千代田区’, ‘object1’) ,arr

PHPmotionどうでしょう

https://www.ospn.jp/ OSC 2010 Tokyo/Springに(初)参加してきたわけですが、PHPmotionのセッションを聞かせてもらって、ちょと興味が沸いてきました。 家庭内サーバにPHPmotion設置して、撮り貯めた動画を管理して、PCやTVで視聴する利用イメージ

『ラングトンのアリの描画』投稿

『どう書く?org』への投稿 今回は『ラングトンのアリ』と呼ばれるセル・オートマトンの問題。 お題: http://ja.doukaku.org/276/ ラングトンのアリを描画してください。 以下投稿したコード。言語はいつものPHP。 方角の循環、セルの反転、アリの移動はそれぞれ工夫したつもり。 シン

『IPv4アドレスのマスクの変換』投稿

『どう書く?.org』への投稿 お題:IPv4アドレスのマスクの変換 http://ja.doukaku.org/253/ ようするに、「255.255.255.128」を「25」にしたり、「24」を「255.255.255.0」にしてくださいという問題。 特に面白い事はしていない。 function mask2bits($ddn_str) { $bits = 0; $decs

『バイナリクロック』投稿

どう書く?への投稿。 お題:バイナリクロック http://ja.doukaku.org/275/ 時刻を二進数相当の表現で出力する時計アプリケーションを書いてください。 他言語の投稿では、お題で例示されている■□で表現しているのだけど、同じでは面白くないのでケンシロウ進数で表現した。感嘆符はサー

PHP:switchブロック case 0 の混在はNG?

少しハマったので。 PHPはcase文に文字列を用いることが出来るが、以下のswitchブロックのように、比較対照を0としたcase文と’x’としたcase文が混在する場合、期待通りに動作しないようである。 以下の例でechoによって出力される

『ケブンッリジ関数』投稿

久々の『どう書く?』投稿。 お題: ケブンッリジ関数 http://ja.doukaku.org/249/ 与えた文章の各単語の最初と最後の文字以外の文字を入れ替えた文章を出力する処理を実装して下さい。元の文章の与え方は特に問いません。参考: 確かに”読めてしまう”コピペ 話題になったケンブリッジ大学

fsockopen()が失敗する

Warning [PHP]: fsockopen() [function.fsockopen]: unable to connect to example.com 110 外部のメールサーバにPOPで接続してメールを取得するPHPスクリプトで上記エラー。正確にはxoopsモジュールの一部。 別のサーバでは正常に動作していたのに。 名前が引けないのかと思い、SSHでサーバに接続し、コンソールでn