ホームページ バックエンド開発 PHPチュートリアル PHP プログラマーがよく犯す 9 つのよくある間違いとヒント

PHP プログラマーがよく犯す 9 つのよくある間違いとヒント

Oct 30, 2017 am 10:12 AM
php 知識 プログラマー

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 サイトの他の関連記事を参照してください。

このウェブサイトの声明
この記事の内容はネチズンが自主的に寄稿したものであり、著作権は原著者に帰属します。このサイトは、それに相当する法的責任を負いません。盗作または侵害の疑いのあるコンテンツを見つけた場合は、admin@php.cn までご連絡ください。

ホットAIツール

Undresser.AI Undress

Undresser.AI Undress

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

AI Clothes Remover

AI Clothes Remover

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

Undress AI Tool

Undress AI Tool

脱衣画像を無料で

Clothoff.io

Clothoff.io

AI衣類リムーバー

AI Hentai Generator

AI Hentai Generator

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

ホットツール

メモ帳++7.3.1

メモ帳++7.3.1

使いやすく無料のコードエディター

SublimeText3 中国語版

SublimeText3 中国語版

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

ゼンドスタジオ 13.0.1

ゼンドスタジオ 13.0.1

強力な PHP 統合開発環境

ドリームウィーバー CS6

ドリームウィーバー CS6

ビジュアル Web 開発ツール

SublimeText3 Mac版

SublimeText3 Mac版

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

CakePHP プロジェクトの構成 CakePHP プロジェクトの構成 Sep 10, 2024 pm 05:25 PM

この章では、CakePHP の環境変数、一般設定、データベース設定、電子メール設定について理解します。

Ubuntu および Debian 用の PHP 8.4 インストールおよびアップグレード ガイド Ubuntu および Debian 用の PHP 8.4 インストールおよびアップグレード ガイド Dec 24, 2024 pm 04:42 PM

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

CakePHP の日付と時刻 CakePHP の日付と時刻 Sep 10, 2024 pm 05:27 PM

Cakephp4 で日付と時刻を操作するには、利用可能な FrozenTime クラスを利用します。

CakePHP データベースの操作 CakePHP データベースの操作 Sep 10, 2024 pm 05:25 PM

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

CakePHP ファイルのアップロード CakePHP ファイルのアップロード Sep 10, 2024 pm 05:27 PM

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

CakePHP ルーティング CakePHP ルーティング Sep 10, 2024 pm 05:25 PM

この章では、ルーティングに関連する次のトピックを学習します。

CakePHP について話し合う CakePHP について話し合う Sep 10, 2024 pm 05:28 PM

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

CakePHP バリデータの作成 CakePHP バリデータの作成 Sep 10, 2024 pm 05:26 PM

Validator は、コントローラーに次の 2 行を追加することで作成できます。

See all articles