2008年9月アーカイブ

array_searchで0(ゼロ)が返ってくるとif文は?

私はプログラマというわけではないのですが、よく大学や高校の後輩からPHPという言語について尋ねられます。
最近、たまたま、それぞれ異なる後輩から同じ質問をされたのでちょっと紹介しておきたいと思いまして。
実は私も以前、はまったことが・・・

PHPには、配列の要素に特定の文字列が含まれているか検索するために、array_searchという関数が用意されています。
比較的よく使うのですが、int型の0(ゼロ)が返ってくる場合を考慮しないと失敗します。

例えば、$test_array = ("岡山", "倉敷", "津山"); の場合、
array_search("倉敷", $test_array); の結果は1 ですが、
array_search("岡山", $test_array); の結果は0 となります。

この0(ゼロ)が曲者でして、仮に配列に岡山が含まれているかどうか調べたいときに

if (array_search("岡山", $test_array)) echo "含まれています";
else echo "含まれていません";

なんて書いちゃうと「含まれていません」と表示されるのです・・・。
if文にとっては、int型の0も、boolean型のFALSEも、同じFALSEなのです。

というわけで、下記のように修正すると期待通りの結果を得られます。

if (array_search("岡山", $test_array) !== FALSE) echo "含まれています";
else echo "含まれていません";

=== は値が等しく、同じ型という比較演算子で、
!== は値が等しくないか、同じ型ではないという比較演算子です。

これならint型の0が返ってきたとしても、FALSEではないこと(「岡山」が含まれること)が判別可能です。

本当にちょっとしたことなのですが、頭の片隅に置いておくときっと助かる場面に遭遇します。
精進、精進。

| コメント(2) | トラックバック(0)

なぜ人形のスカートの中を確認するのか

タイトルは気にしないでください。確認したのは私ではありません。本当に。

さて、今日は所用で私の母校でもある県立岡山朝日高等学校に行って来ました。
ちょうど平日で同窓会事務局も開いていたので「朝日高校リカちゃん」をゲット!
以前からその存在は知っていたのですが、卒業式や文化祭といったイベントの時は事務局が留守で、なかなか入手する機会に恵まれませんでした。

というわけで簡単なレビューを。

 

朝日高校リカちゃんパッケージ表パッケージはオリジナルデザインで、春の桜が舞う朝日高 校門のイラストがベースになっています。裏面は通常のリカちゃん人形と同じく注意書きやタカラの連絡先が印刷されています。
わざわざJANコード(バーコード)が刷ってあるのに驚きましたが・・・市販するの?

 

朝日高校リカちゃんリカちゃんのほうは若干茶髪なのが校則違反なんじゃないかと心配ですが、通常のリカちゃんと変わりません。(ここで変わってたらリカちゃんじゃないか・・・)
てっきり人形を彩色しただけの制服かと思っていたのですが、きちんと生地を縫って作られた冬服のレプリカを着ていることに感動しました。いい仕事してますねぇ。
スカートのボックスプリーツの本数とか細かいところもよく再現されています。

良い記念になりました。

ちなみに現在の在庫状況は「あと2年程度で完売」だそうです。
保存用、布教用にあと2体は入手しておきたいですね!
完売後の再生産は未定らしいのですが、個人的には夏服が好きなので次はぜひ夏服でお願いします。>同窓会事務局様

先日知ったのですが、制服レプリカを着たリカちゃんは朝日高校リカちゃん以外にも全国に20校程度存在するらしいです。みんな母校が好きなんですね。良いことです。

| コメント(0) | トラックバック(0)

ムースカフェにて。

徳光です。

今日は岡山市京橋にあるムースカフェで打ち合わせをしてきました。
というのが、そう遠くない将来にここムースカフェで、とあるイベントを開かせていただくからなのです。
イベントについてはおいおいアナウンスしていくので、どうか記憶の片隅にでもとどめておいてください。

ところで僕はこのお店のカレーのごはんの硬さに感激しました。
少々水分少なめに炊き上げたごはんはカレーとの相性ばっちり。ウマイ。

080905_moosecafe.jpg

ゆるい感じの居心地のいいカフェです。
お近くの方はぜひぜひ足を運んでみてくださいー。

moosecafe - ムースカフェ

| コメント(0) | トラックバック(0)

Firefox3 で *.each is not a function(Prototype.js)

イトウです。

ウェブアプリケーションの開発の際は、ユーザビリティの向上のため、 JavaScript(PrototypeやjQuery) を使っています。依存するような操作は好ましくないと思うのですが、これらをうまく活用することで、少しでもユーザの負担が減れば、と思っています。

ところで、Firefox 3 にしてからしばらくしたのですが、Array.each を使おうとすると、「*.each is not a function」と出るようになりました。どうやら、Firefox3 になってから getElementsByClassName() がネイティブに実装され、その結果、返す型が変更になったのが原因のようです。

var elems = $A(elements.getElementsByClassName("hoge"));

といった具合に、変換してやればいいと思います。せっかく実装されたネイティブな関数なので、オーバーヘッドのことなんかも考えたら、getElementsByClassName() を使ったほうが良いと思います。

| コメント(0) | トラックバック(0)

久しぶりの美術館

はじめまして。デザイン担当の鵜木です。
おととい、岡山市立オリエント美術館で開かれた『萩野矢慶記写真展「シルクロードへの誘い 青い煌きウズベキスタン」』を見に行ってきました。
世界遺産に登録されたサマルカンドの寺院や廊の写真、工芸品などがたくさん展示されていました。
にぎやかなアラベスクと、トルコ石のきれいな青色が印象的でした。空や海とはまた違った美しさがあります。
イスラムの芸術は、奥深くてなかなかいいですね。

blue.jpg

| コメント(0) | トラックバック(0)
前のアーカイブは2008年8月です。 次のアーカイブは2008年10月です。