MW211 EXIT

devlog
PHP/連想配列のキーを論理型にしてみる
2012年01月20日
「echo TRUE;」は「1」(※)で、「echo FALSE;」は「」(空文字)だったりするわけだが
んじゃ、連想配列のキーにしてみたら…?
┌──────────────────────────────────────┐
│$a[TRUE]  = 'a';                                                            │
│$a[FALSE] = 'b';                                                            │
└──────────────────────────────────────┘
ってのを用意して、
┌──────────────────────────────────────┐
│print_r($a);                                                                │
└──────────────────────────────────────┘
ってやるわけですよ。

結果はこう。
┌──────────────────────────────────────┐
│Array ( [1] => a [0] => b )                                                 │
└──────────────────────────────────────┘

ま、想定通りといえば想定通り、意外といえば意外かも。

直接こんな書き方はしないだろうが、変数とかを介して
意図せずして(?)こういうケース(論理型をキーにしてしまうケース)に出くわすのでは。

※でもね、この「1」は「=== TRUE」では真だが「=== 1」や「=== '1'」では偽だ。
  まぎれもなく、「TRUE」のようだ。これ注意ね。
分類:PHP配列