タグ

PHPとtipsに関するkiyo_hikoのブックマーク (7)

  • PHPとかRubyでビックリマークを2つ続けて書く書き方(Double Not)の存在 - longkey1's blog

    要は、boolean型で返して欲しい時に利用するみたい。 Rubyってこんな書き方もあるんだなーと感心していたところ、後日PHPで使われてるのを発見。 試しに使ってみたら、ちゃんと動いた。

    kiyo_hiko
    kiyo_hiko 2015/09/11
    ある式を陽にbooleanに評価させるのにビックリマークを2つ使うらしい
  • PHP5.3で即時関数

    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

    PHP5.3で即時関数
  • [PHP]PHPでPerlのqwを実現するお!

    function qw ($str) { return preg_split('/\s+/',$str,-1,PREG_SPLIT_NO_EMPTY); } $data = qw(' hoge muge dae '); print_r($data); にゃろめ。 プログラ増田のあなぐら

    [PHP]PHPでPerlのqwを実現するお!
    kiyo_hiko
    kiyo_hiko 2015/04/10
    "プログラ増田のあなぐら"
  • PHPの「参照」は,参照とは似て非なる糞参照じゃなかったっけ - カレーなる辛口Javaな加齢日記

    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で参照と言ってる奴は,JavaRubyC++やその他の言語で参照と呼ばれているとは別の挙動を示す変態参照. しかもPHP4からPHP5になる時に,互換性のない仕様変更が入るという天変地異にみまわれて,PHPプログラマが悲鳴を上げた. ってな話だったかと. それ以上にこれ

    PHPの「参照」は,参照とは似て非なる糞参照じゃなかったっけ - カレーなる辛口Javaな加齢日記
  • PDOの真の力を開放する - PHPでデータベースを扱う(3)

    ちょっと遅れましたが、シリーズの第3回です。前回までに論じた内容をふまえて、簡単な実装を示します。↓前回までの内容はこちら。 DAOの悪夢 - PHPでデータベースを扱う(1) - 泥のように ドメイン駆動設計という救世主 - PHPでデータベースを扱う(2) - 泥のように 題材 「記事にタグを設定できるブログ」みたいなシステムを考えてみます。ブログ記事を示すEntryテーブル、タグを表すTagテーブルの二つを用意しました。MySQL WorkbenchによるER図(鳥足記法)は以下になります。 1つのEntryに対して複数のTagがある、1対多の関係です。同じTagが複数のEntryに関連するため、多対多の関係と見なすこともできそうですが、タグ程度だとあまり意味がないので、これ以上のテーブル分割はやめておきます。 Entryテーブルの主キーがentryIdと冗長な名前をしているのは、自

    PDOの真の力を開放する - PHPでデータベースを扱う(3)
    kiyo_hiko
    kiyo_hiko 2013/03/08
    pdoはforeach
  • インデントされてないperlソースコードを整形しようとPerl::Tidyをインストールしたけどvimで一発だった件 : akiyan.com

    インデントされてないperlソースコードを整形しようとPerl::Tidyをインストールしたけどvimで一発だった件 2010-04-21 全くインデントされてないとても前衛的なperlソースコードに久しぶりに出会ったので、整形しようと調べたらPerl::Tidyを見つけていそいそとインストールしました。そのことをtwitterでつぶやいたら、個人的なvim伝道師こと@kana1氏から以下のreplyが。 そういえばvimにはインデントの整形機能がついてるんでしたね...vimにソースを貼りつけて「gg=G」とタイプすれば全行のインデントが揃います。整形具合はPerl::Tidyよりおとなしめですが、十分見やすくなりましたとさ。PHPでもRubyでも同様に使えますよ。 コメント / トラックバック コメントは受け付けていません。

    kiyo_hiko
    kiyo_hiko 2012/06/04
    Perl::Tidyでやってるけど職場の制約とかでインストールがダルいときはgg=G良さそう
  • 条件演算子 - Wikipedia

    条件演算子(じょうけんえんざんし、英: conditional operator)は、プログラミング言語の演算子で、条件文と同様な意味があるが、文ではなく値を持つ式になる。評価されると、条件式の値により異なる式が評価され、異なる値になる。 なお、C言語やC++など一部のプログラミング言語において、条件演算子とは後述する「? :」(ハテナマークとコロン) の演算子の名称である。 「If 〜 Then 〜 Else 〜」にあたる三項演算子があり、ほぼ唯一の、プログラミング言語において一般的な三項演算子である。また「If 〜 Then 〜 if」にあたる二項演算子もある。 三項演算子は、条件式・真式・偽式の3つのオペランドを結ぶ。二項演算子の場合は、条件式と、真式または偽式のいずれかの、2つのオペランドを結ぶ。 条件文との違いは、 真式・偽式は式(条件文における節のように文を置くことができない)

    kiyo_hiko
    kiyo_hiko 2012/02/15
    「CやJavaやPerlなどでは、a ? b : c ? d : e は a ? b : (c ? d : e) という意味だが、PHPの三項演算子では (a ? b : c) ? d : e なので注意が必要である」…なぬ。自分は条件演算子をcondやCASE代わりに多用するので、これは気を付けないと
  • 1