2022年12月7日 (水)
2022年12月6日 (火)
→演算子の優先順位表
+2,081
→演算子の優先順位と結合方向: →演算子の優先順位: PHPも、多くのプログラミング言語と同じく演算子に優先順位があります。→演算子の結合方向: 演算子の結合方向 異なる優先順位の演算子であれば、優先順位に従い評価すればよいのですが、同じ優先順位の演算子が続いた場合はどうでしょう。
+1,131
→unset: unsetした変数に束縛されていたメモリーオブジェクトのリファレンスカウントが一つ減るので、メモリーが開放される可能性があります。
−11
→マジカル定数: declare(strict_types=1); header('Content-Type: text/plain');
+64
→型と型名とリテラル: +null, +リソース, +オブジェクト
+1,775
→未定義変数: 2022年12月現在の最新の安定バージョン v8.1.13 では、未定義(Undefined)の変数参照すると警告文(warning)が出ます。→エラー制御演算子(@): エラー制御演算子(@)は、名前と機能がやや乖離していて、「メッセージ抑制演算子」程度の機能しかありません。 エラー制御演算子には、トラブルシューティングに役立つエラーや警告を表示させないという害悪があるので、他の方法(例えば例外処理)を検討するべきです。
−1,651
→null: null は、変数の束縛を解く時につかわれ、その意味では unset() と似ています。 NULLが入った変数は、isset()はfalseを返します。 ??は、NULL合体演算子です。式1 ?? 式2は、isset(式1) ? 式1 : 式2と同じ意味です。v7.0から導入されました。
+936
→リテラル: header('Content-Type: text/plain');
+74
マークアップ修正
−24
→変数の名前の規則: 変数の名前は、$ で始まり識別子が続きます。 識別子は、先頭が _ または英字、それに 0 文字以上の _ または 英数字が続きます。
+144
→変数とは: typo
+3
→算術演算: 例からHTML成分を除いたので、HTMLへの言及を削除。
−942
→unset: header('Content-Type: text/plain');PPHPでは、ループ変数のスコープはループではなく関数スコープ(あるいはグローバルスコープ)なので、ループを抜けたあと悪さをしないように、unset() しましょう(ループから脱走したリファレンスを使って代入すると発見困難なバグになります)。 ドメインによっては、 $ループ変数 = null; で標準化していることもありますが趣旨は同じです。
+200
→演算子: header('Content-Type: text/plain');
+101
2022年12月4日 (日)
→リテラル: 表組み
+557
→リテラル: リテラルとは、ハードコードされた値のことです。リテラルはスクリプトの中で特定の値を表現する手段となります。例えば代入の右辺には次のようなものがあります。→型と型名とリテラル: PHPの型と型名とリテラルの例を示します。
+3,537
2022年12月3日 (土)
→define(): const が使えるのであれば、define()は使うべきではありません。
+35
→演算子: まとめ +, -, *, /, %のような演算を表す記号を演算子とよびます(これらは二項演算子(中置演算子とも))。 それに対し、intdiv()のような形式は関数と呼びます。 とはいうものの、PHPは、演算子・関数・コマンドが多分に曖昧で、公式のドキュメントでも混用が見られます。 なにか型ジャグリングと通じるものがありますね。
−275
→echo, print, printfとsprintf: goji
−1
→文字列への変数の埋込み
−78
→echo, print, printfとsprintf: print は上位互換で短縮表記もある echo あるの殆ど使われませんが、Cのprintf()/sprintf()と同じ機能の、 printf()/sprintf()がPHPにはあり、書式化出力に便利です。
+323
敬体に統一。
−50
2022年11月29日 (火)
2022年11月28日 (月)
print文は、echo文のシノニムではなく、echoだけが複数のパラメータを受取れる。
−396
→readonlyプロパティ: const と似た仕組みに、PHP 8.1.0 以降のクラスのプロパティのreadonly修飾子があります。 ただし、readonly修飾子はプロパティにしか使えません。 また、クラスはクラススコープの定数「クラス定数」を定義することができます。 「PHP/クラス#コンストラクターとreadonlyプロパティ」および「PHP/クラス#クラス変数とクラス定数」を参照
−167
2022年6月23日 (木)
2022年6月13日 (月)
2022年6月9日 (木)
2022年6月5日 (日)
2022年5月20日 (金)
2021年12月8日 (水)
2021年12月7日 (火)
=== null === もし、変数の再使用を禁止したいわけではなく、単にいったん変数を一時的に空(から)にしたいだけの場合、null で変数を空に出来ます。
+623
→その他
+255
→unset
M−6
→その他: 今後に使う予定のない変数に unset() 命令をすることで、明示的にその変数を使わないことを宣言できます。また、unset にともない、unsetした変数に占有されていたぶんのメモリ領域が解法されるので、メモリ的に効率的なプログラミングが出来ます。
+1,199