‘if/else’文を関数やクラスメソッドの中で使うときにありがちな誤解がある。なかったときにどんな結果になるのかを示すために’else’が必須だと考えることだ。その結果を戻り値に使うのなら’else’は必須じゃない。’return’の時点で関数は終了するんだから、’else’は無意味だ。文Switch文を使えば、ifとelseifを延々と書き連ねる必要がなくなる。気をつけないといけないこともある。Switch文は値を比較するだけで、型は比較しない(つまり、’==’で比較してるってこと)マッチする条件が見つかるまで、すべてのcaseを順に評価する。マッチするものがない場合、もしdefaultが定義されていればそれを使う‘break’がなければそのまま次のcaseに進み、breakかreturnに達するまで止まらない関数の中で’return’を使うときは’break’は不要だ。名前空間を使っていると、自作の関数に邪魔されて組み込みの関数が実行できなくなることがある。これを修正するには、組み込み関数を使いたいときには関数名の前にバックスラッシュをつけるようにするといい。ArrayIteratorは組み込みのクラスである。phptherightway名前空間でこの名前を探してしまう。文字をつなげたものだ。...と、それだけ聞けばきわめてシンプルに感じるはずだ。文字列にはいくつかの種類があって、それぞれ微妙に構文が違っているし、挙動も違う。シングルクォートシングルクォートは、「リテラル文字列」を表すために使うものだ。リテラル文字列では、特殊文字をパースしたり変数を展開したりはしない。ように変数名を埋め込める。変数名とみなして評価する。変数が見つからなければ、エラーになる。*/シングルクォートダブルクォートダブルクォートは、文字列界におけるスイスアーミーナイフだ。変数を展開するだけではなく、あらゆる特殊文字もパースしてくれる。タブに変換したりといったことだ。シングルクォートを使った例。ひとまとめにできるダブルクォートの中には、変数を含めることもできる。ジュース大好きこの機能を使おうとしたときに、変数名と他の文字がつながってしまうことがよくある。その結果、どこまでが変数名でどこからがリテラル文字なのかがわからなくなってしまう。この問題に対応するためには、変数名を波括弧で囲めばいい。5.3で導入された構文で、内部的にはシングルクォートと同じような動きをする。複数行にまたがる文字列を、連結演算子なしで表すのに適している。終了文字列はそれ単体でひとつの行に書く。*/Nowdocヒアドキュメント構文ヒアドキュメントは、内部的にはダブルクォートと同じような動きをする。複数行にまたがる文字列を、連結演算子なしで表すのに適している。終了文字列はそれ単体でひとつの行に書く。*/ヒアドキュメント複数行にまたがる文字列は、こんなふうに複数行にまたがる文を書くことによっても実現できる。*/どっちが速い?シングルクォートで囲んだほうが、ダブルクォートで囲むよりもちょっとだけ速くなるという迷信が、蔓延している。シングルクォートであろうがダブルクォートであろうが、まったく同じことだ。どちらが速いとか遅いとかいうことはない。文字列と任意の型の値を連結したり、ダブルクォートで囲んだ文字列に変数を埋め込んだりしたときの結果は、場合によって異なる。値の数が少ないときには、埋め込みよりも連結のほうが少しだけ速くなるだろう。値の数が多くなると、逆に変数を埋め込んだほうが少しだけ速くなるだろう。文字列を使って何をするにせよ、この違いが目に見えてアプリケーションに影響を及ぼすことはない。そんなことのためにコードを書き換えるのは、まったくのムダ。そんな些細な最適化は避けること。使えばコードを短くできるが、必要以上に使いすぎていることが多い。三項演算子をネストさせることもできるけれど、それぞれ別の行にしたほうが読みやすくなる。'nay';読みやすさを無視して、とにかく行数を減らそうとだけ考えてしまうと、こんな羽目になる。するには、書きかたに気をつけないといけない。返す注意しておきたいのは、boolean値を返したいというだけなら、別に三項演算子じゃなくてもかまわないってこと。どの演算子であっても同じことだ。三項演算子と括弧を活用する三項演算子を使うときには、括弧を活用すればコードの可読性を挙げられるし、文の中に結合を含めることもできる。括弧を使っても使わなくても変わらないのは、こんな例だ。返す括弧を使えば、文のかたまり全体をチェックするときに、その中に結合を含めることもできる。5もtrueのときに、trueを返す。5;もうひとつ、別の例を示そう。5がtrueのときに、trueを返す。以降では、三項演算子の第二項を省略できるようになった。みたいに書くと、式1がTRUEの場合は式1を返して、そうじゃない場合は式3を返す。www.phptherightway.com.。