PHP プログラマーがよく犯す 9 つのよくある間違いとヒント
PHP を一定期間学習すると、特定の悪い習慣が身につきます。以下は、エディターがまとめた 9 つのよくある間違いです。誰もが学ぶことができるように。
1. 変数宣言
以下に示すように、ステートメント内で変数を宣言すると、コンパイラーはまずステートメントの右半分の値を見つけます。まさにこの部分でエラーが発生することがよくあります。間違った構文を使用すると、解析エラーが発生します。
2. 解析エラー
たとえば、解析エラー: c:program filesapache groupapachehtdocsscript.php の 19 行目で解析エラー、予期せぬ T_WHILE 前のエラーが特定されるたびに解析エラーが次々と表示され、PHP が停止します最初の解析エラーの後にスクリプトを実行します。また、解析エラーの情報はほとんどなく、エラーが発生した行番号はほとんど報告されません。たとえば、事前定義されたキーワードが式で使用されます (例: while=10; while は事前定義されたキーワードであるため、値を割り当てることはできません)。事前定義されたキーワードには、while、function などが含まれます。これらの事前定義されたキーワードを変数の名前に使用することはできません。使用しないと、コンパイラによってエラーが報告されます。このうち、T_IFはif()、T_WHILEはwhile()、T_FORはfor()などを表します。
3. 一般的なエラー
ステートメントがセミコロン (;) で終わっていない、文字列内の引用符が欠落しているなど、いくつかの一般的なエラーもあります。さらに、関数またはループを終了するために中括弧 (}) を使用しない場合、たとえば: function UselessFunction(){for($i
4. MySQL エラー
もう 1 つのタイプのエラー メッセージは MySQL エラーで、次のような PHP 初心者を悩ませることがよくあります。 警告: 指定された引数は有効な MySQL 結果リソースではありません。間違った行は次のとおりです: while($row=mysql_fetch_array($result)){}クエリが失敗し、mysql_fetch_array を処理できないため、パラメータ $result は有効なリソースではありません。クエリの構文が無効であるか、データベースへの接続が失敗する場合は、MySQL コンソールにアクセスしてテストする必要があります。
5. echo と print の違いに注意してください
PHP の echo と print にはどちらも出力関数がありますが、この 2 つにはまだ微妙な違いがあります。 echo出力後の戻り値はありませんが、printには戻り値があり、実行失敗時にfalseを返します。したがって、これは通常の関数として使用できます。たとえば、$r=print "Hello World" が実行されると、変数 $r の値は 1 になります。さらに、コード内の echo ステートメントは print ステートメントよりもわずかに高速に実行されます。
6. 空文字列('')とNULLの違いに注意してください
PHPでは空文字列とNULLはどちらも値0で格納されますが、前者は文字列、後者は型が異なります。は NULL、可視文字列 ('')、NULL 値は等しいが型が異なります。
== (等しい) と === (すべて等しい) の違いを区別します
どちらも比較演算子です == (等しい) は値が等しいかどうかのみを比較しますが、 === (すべて等しい) は比較しません。値が等しいかどうかのみを比較します。型が等しいかどうかも比較されます。これはより厳密です。
7. include と require の違いを区別する
include() と require() は基本的に同じ関数ですが、include() は条件付き包含関数であるのに対し、require() は使用方法にいくつかの違いがあります。無条件に関数が含まれます。たとえば、次のコードでは、変数 $a が true の場合、ファイル a.php がインクルードされます: if($a){include("a.php");} および require() は include( )、$ に関係なく、 a がどのような値であっても、次のコードにはファイル a.php がインクルードされます: if($a){require("a.php");} エラー処理の観点からは、include ステートメントを使用します。インクルードエラーが発生した場合、プログラムは include ステートメントをスキップします。エラーメッセージが表示されますが、プログラムは実行を続行します。ただし、require ステートメントでは致命的なエラーが発生します。
8. isset と empty の違いに注意してください
empty は変数が「空」かどうかを判断するのに対し、isset は変数が設定されているかどうかを判断します。
9. self:: と this の違いを区別する ->
PHP クラスのメンバー変数またはメソッドにアクセスするとき、参照される変数またはメソッドが const (定数) または static (静的) として宣言されている場合属性) を使用する場合は、ドメイン演算子:: を使用する必要があります。また、参照される変数またはメソッドが const または static として宣言されていない場合は、ポインター演算子 -> を使用します。
以上がPHP プログラマーがよく犯す 9 つのよくある間違いとヒントの詳細内容です。詳細については、PHP 中国語 Web サイトの他の関連記事を参照してください。

ホットAIツール

Undresser.AI Undress
リアルなヌード写真を作成する AI 搭載アプリ

AI Clothes Remover
写真から衣服を削除するオンライン AI ツール。

Undress AI Tool
脱衣画像を無料で

Clothoff.io
AI衣類リムーバー

AI Hentai Generator
AIヘンタイを無料で生成します。

人気の記事

ホットツール

メモ帳++7.3.1
使いやすく無料のコードエディター

SublimeText3 中国語版
中国語版、とても使いやすい

ゼンドスタジオ 13.0.1
強力な PHP 統合開発環境

ドリームウィーバー CS6
ビジュアル Web 開発ツール

SublimeText3 Mac版
神レベルのコード編集ソフト(SublimeText3)

ホットトピック

PHP 8.4 では、いくつかの新機能、セキュリティの改善、パフォーマンスの改善が行われ、かなりの量の機能の非推奨と削除が行われています。 このガイドでは、Ubuntu、Debian、またはその派生版に PHP 8.4 をインストールする方法、または PHP 8.4 にアップグレードする方法について説明します。

CakePHP でデータベースを操作するのは非常に簡単です。この章では、CRUD (作成、読み取り、更新、削除) 操作について理解します。

ファイルのアップロードを行うには、フォーム ヘルパーを使用します。ここではファイルアップロードの例を示します。

CakePHP は、PHP 用のオープンソース フレームワークです。これは、アプリケーションの開発、展開、保守をより簡単にすることを目的としています。 CakePHP は、強力かつ理解しやすい MVC のようなアーキテクチャに基づいています。モデル、ビュー、コントローラー
