要は、boolean型で返して欲しい時に利用するみたい。 Rubyってこんな書き方もあるんだなーと感心していたところ、後日PHPで使われてるのを発見。 試しに使ってみたら、ちゃんと動いた。
JavaScriptではよく使う即時関数(function(){ /*...*/ })()ですが、PHPもバージョン5.3からクロージャがサポートされ、原理的には書けるはずなので試してみました。 current(array(function(){ /* * このブロックは擬似的にブロックスコープを持つ * */ }))->__invoke(); echo current(array(function($a, $b){ return $a + $b; }))->__invoke(1, 2);// 3 …すっげー見づらいですが、一応解説。 function(){ }をリファレンスにする PHPの関数や配列、オブジェクトといったものは、一度変数に代入しないとうまく起動してくれません。しかし関数の戻り値はメソッドをつなげることができます。anatooさんのHackが有名ですね。 function
「PHPが糞言語なのはどう考えても参照をポインタだと思っているお前らが悪い」 http://tanakahisateru.hatenablog.jp/entry/2013/12/12/012728 「PHPとかいう糞言語」 http://ameblo.jp/nikko-inma/entry-11122429825.html http://www.programming-magic.com/20080307090613/ ポインタと思ってるわけじゃなくて,参照と思ってる人も苦労してるらしいよ. うろ覚えなんだけど, PHPで参照と言ってる奴は,JavaやRubyやC++やその他の言語で参照と呼ばれているとは別の挙動を示す変態参照. しかもPHP4からPHP5になる時に,互換性のない仕様変更が入るという天変地異にみまわれて,PHPプログラマが悲鳴を上げた. ってな話だったかと. それ以上にこれ
ちょっと遅れましたが、シリーズの第3回です。前回までに論じた内容をふまえて、簡単な実装を示します。↓前回までの内容はこちら。 DAOの悪夢 - PHPでデータベースを扱う(1) - 泥のように ドメイン駆動設計という救世主 - PHPでデータベースを扱う(2) - 泥のように 題材 「記事にタグを設定できるブログ」みたいなシステムを考えてみます。ブログ記事を示すEntryテーブル、タグを表すTagテーブルの二つを用意しました。MySQL WorkbenchによるER図(鳥足記法)は以下になります。 1つのEntryに対して複数のTagがある、1対多の関係です。同じTagが複数のEntryに関連するため、多対多の関係と見なすこともできそうですが、タグ程度だとあまり意味がないので、これ以上のテーブル分割はやめておきます。 Entryテーブルの主キーがentryIdと冗長な名前をしているのは、自
インデントされてないperlソースコードを整形しようとPerl::Tidyをインストールしたけどvimで一発だった件 2010-04-21 全くインデントされてないとても前衛的なperlソースコードに久しぶりに出会ったので、整形しようと調べたらPerl::Tidyを見つけていそいそとインストールしました。そのことをtwitterでつぶやいたら、個人的なvim伝道師こと@kana1氏から以下のreplyが。 そういえばvimにはインデントの整形機能がついてるんでしたね...vimにソースを貼りつけて「gg=G」とタイプすれば全行のインデントが揃います。整形具合はPerl::Tidyよりおとなしめですが、十分見やすくなりましたとさ。PHPでもRubyでも同様に使えますよ。 コメント / トラックバック コメントは受け付けていません。
条件演算子(じょうけんえんざんし、英: conditional operator)は、プログラミング言語の演算子で、条件文と同様な意味があるが、文ではなく値を持つ式になる。評価されると、条件式の値により異なる式が評価され、異なる値になる。 なお、C言語やC++など一部のプログラミング言語において、条件演算子とは後述する「? :」(ハテナマークとコロン) の演算子の名称である。 「If 〜 Then 〜 Else 〜」にあたる三項演算子があり、ほぼ唯一の、プログラミング言語において一般的な三項演算子である。また「If 〜 Then 〜 if」にあたる二項演算子もある。 三項演算子は、条件式・真式・偽式の3つのオペランドを結ぶ。二項演算子の場合は、条件式と、真式または偽式のいずれかの、2つのオペランドを結ぶ。 条件文との違いは、 真式・偽式は式(条件文における節のように文を置くことができない)
リリース、障害情報などのサービスのお知らせ
最新の人気エントリーの配信
処理を実行中です
j次のブックマーク
k前のブックマーク
lあとで読む
eコメント一覧を開く
oページを開く