PHP全般

ヒアドキュメントに記述した変数名を展開しない「Nowdoc」

記述した内容をそのまま表示できる点でヒアドキュメントは便利ですが、ヒアドキュメントの中に記述した変数が展開(値が出力される)されてしまうのが不便なときもあります。 PHP5.3.0以降であれば、Nowdoc構文を使うと...
PHP全般

二重ループを一気に抜けるにはラベル付きbreakの代わりに「break 2」またはgoto演算子を使う

ループの中でbreak文を使うと、そのループを抜けることができますが、二重ループの内側でbreakを使うと、内側のループを抜けるだけです。 Javaなどのように「break ラベル;」と、移動先のラベルを指定できないの...
PHP関数

ファイル名などに日本語が含まれるパスでbasename関数が失敗するバグ

basename関数はパスからディレクトリ情報を削除してベース名(「test.txt」など)を取得するための関数ですが、PHP5(使用バージョン:PHP 5.3.1)ではパスに日本語が含まれていると失敗します。 この現...
PHP関数

trim関数による文字列前後の空白削除(全角・半角が混在)が失敗するとき

文字列の前後に含まれる空白を削除したい場合、trim関数を使う方法があります。全角の空白と半角の空白が混在している場合でも、trim関数では2番目のパラメータに削除する文字列を指定できるので「trim($a, " ")」で対応できそうですが...
エラーメッセージ

mb_strpos関数やexplode関数で「Warning: Empty delimiter」と表示されるとき

「Empty delimiter」というWarningメッセージは、mb_strpos関数やstrpos関数、explode関数などで表示されます。 mb_strpos関数やstrpos関数は、指定値に特定の値が含まれるか調べる関数で...
PHP関数

array_push関数による配列要素の追加は$array[]より遅い

配列の最後に要素を追加するには、array_push関数を使う方法と空インデックス($array[])を使う方法があります。 実行結果はどちらも同じになりますが、速度が違います。array_push関数よりも空...
PHP関数

array_merge関数と配列結合演算子「+」による重複キーの扱いの違い

複数の配列を結合して1つにまとめるには、array_merge関数を使う方法と、配列結合演算子「+」を使う方法があります。 主な違いは、同じ名前の文字列インデックスを上書きするかどうかです。array_merge関数では、既存の要素を...
PHP全般

switch文のcaseによる条件分岐がおかしいとき

switch文で作成した条件の分岐がおかしく感じるときがあります。次の例は、「大吉」を引いたときのみ「大吉」と表示する簡単なswitch文です。 入ってきた値は「0」ですが、実行すると、「大吉」と表示されてしまいます。 ...
タイトルとURLをコピーしました