ホームページ バックエンド開発 PHPの問題 PHPがconst errorを使用する理由は何ですか?

PHPがconst errorを使用する理由は何ですか?

Sep 27, 2019 pm 03:44 PM
絶え間ない

PHPがconst errorを使用する理由は何ですか?

define が定数を定義することは誰もが知っていますが、クラス内で定数を定義するとどうなるでしょうか?もちろん、define は使用できませんが、次の例のように const を使用します。

<?php
//在类外面通常这样定义常量
define("PHP","phpernote.com");
class MyClass{
    //常量的值将始终保持不变。在定义和使用常量的时候不需要使用$符号
    const constant = &#39;constant value&#39;;
    function showConstant() {
        echo  self::constant;
    }
} 
echo MyClass::constant;
 
$classname = "MyClass";
echo $classname::constant; // PHP 5.3.0之后
 
$class = new MyClass();
$class->showConstant();
echo $class::constant; // PHP 5.3.0之后

print_r(get_defined_constants()); //可以用get_defined_constants()获取所有定义的常量
ログイン後にコピー

通常、define はクラス外の定数を定義し、const はクラス内の定数を定義します。const にはクラス名を通じてアクセスする必要があります。 :変数名。ただし、php5.3 以降では、クラス外の const による定数の定義がサポートされています。以下のように、これで問題ありません。

const a = "abcdef";
echo a;
ログイン後にコピー

ここでは定数に関する基礎知識には触れません。他にも、define と const の間には違いがあります (Network から抜粋):

1.const は条件文で定数を定義できませんが、次のように定義できます:

if(1){
    const a = &#39;java&#39;;
}
echo a;  //必错
ログイン後にコピー

2.const は通常の定数を使用します。定数名、define は式を使用できます。

const  FOO = &#39;PHP&#39;;
for ($i = 0; $i < 32; ++$i) { 
    define(&#39;PHP_&#39; . $i, 1 << $i); 
}
ログイン後にコピー

3.const は名前として静的スカラーのみを受け入れることができますが、define は任意の式を受け取ることができます。

const PHP = 1 << 5;    // 错误
define(&#39;PHP&#39;, 1 << 5); // 正确
ログイン後にコピー

4.const 自体が言語構造です。そしてdefineは関数です。したがって、const を使用する方がはるかに高速です。

phpにおけるconstとdefineの違いについては以上です。

以上がPHPがconst errorを使用する理由は何ですか?の詳細内容です。詳細については、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)

C 言語の定数とは何ですか?例を挙げていただけますか? C 言語の定数とは何ですか?例を挙げていただけますか? Aug 28, 2023 pm 10:45 PM

定数は変数とも呼ばれ、一度定義されると、その値はプログラムの実行中に変更されません。したがって、変数を固定値を参照する定数として宣言できます。テキストとも呼ばれます。定数は、Const キーワードを使用して定義する必要があります。構文 C プログラミング言語で使用される定数の構文は次のとおりです - consttypeVariableName; (または) consttype*VariableName; さまざまなタイプの定数 C プログラミング言語で使用されるさまざまなタイプの定数は次のとおりです: 整数定数 - 例: 1,0 、34、4567 浮動小数点定数 - 例: 0.0、156.89、23.456 8 進数および 16 進数の定数 - 例: 16 進数: 0x2a、0xaa.. 8 進数

Pythonで定数を作成するにはどうすればよいですか? Pythonで定数を作成するにはどうすればよいですか? Aug 29, 2023 pm 05:17 PM

定数と変数は、プログラミングでデータ値を保存するために使用されます。変数は通常、時間の経過とともに変化する値を指します。定数は、プログラムの実行中に値を変更できない変数の一種です。 Python で使用できる組み込み定数は 6 つだけです。False、True、None、NotImplemented、Ellipsis(...)、__debug__ です。これらの定数とは別に、Python には定数値を格納するための組み込みデータ型がありません。例 定数の例を以下に示します。False=100 が出力されます。 SyntaxError:cannotassigntoFalseFalse は、ブール値を格納するために使用される Python の組み込み定数です。

Java では、final キーワードのみを使用して定数を定義できますか? Java では、final キーワードのみを使用して定数を定義できますか? Sep 20, 2023 pm 04:17 PM

定数変数とは、値が固定されており、プログラム内に 1 つだけ存在する変数です。定数変数を宣言して値を代入すると、プログラム全体でその値を再度変更することはできません。他の言語とは異なり、Java は定数を直接サポートしません。ただし、変数を static および Final として宣言することで、定数を作成することはできます。静的 - 静的変数を宣言すると、それらはコンパイル時にメモリにロードされます。つまり、使用できるコピーは 1 つだけになります。 Final - Final 変数を宣言すると、その値は変更できなくなります。したがって、インスタンス変数を static かつ Final として宣言することで、Java で定数を作成できます。デモの例 classData{&am

PHP エラー: 未定義の定数を呼び出すときの問題を解決するにはどうすればよいですか? PHP エラー: 未定義の定数を呼び出すときの問題を解決するにはどうすればよいですか? Aug 26, 2023 pm 03:39 PM

PHP は、Web 開発で広く使用されているサーバーサイド スクリプト言語であり、その柔軟性と使いやすさにより、多くの開発者にとって最初の選択肢となっています。ただし、PHP を使用すると、エラーが報告されることがあります。この記事では、「未定義定数の呼び出し」エラーとその解決方法に焦点を当てます。 1. 問題の説明 コード内で未定義の定数を使用すると、PHP は致命的なエラーをスローし、未定義の定数を呼び出すように求めます。一般的な例を次に示します: echoMY_

PHP エラー: 未定義の定数をプロパティ名として使用した場合はどうすればよいですか? PHP エラー: 未定義の定数をプロパティ名として使用した場合はどうすればよいですか? Aug 17, 2023 pm 02:13 PM

PHP エラー: 未定義の定数をプロパティ名として使用した場合はどうすればよいですか? PHP 開発では、コードを編成および管理するためにクラスとオブジェクトをよく使用します。クラスを定義するプロセスでは、クラスの属性 (つまりメンバー変数) がデータの保存において重要な役割を果たします。ただし、プロパティを使用する場合、未定義の定数をプロパティ名として使用するとエラーが発生することがあります。この記事では、このエラーの原因について説明し、いくつかの解決策を示します。まず、この問題を示す簡単な例を見てみましょう。 「Per」という名前のファイルがあるとします。

基本的なデータ型定数の定義と初期化方法学習ガイド 基本的なデータ型定数の定義と初期化方法学習ガイド Jan 05, 2024 pm 02:08 PM

基本データ型定数の定義と初期化方法を学ぶには、具体的なコード例が必要です プログラミングでは、整数、浮動小数点型、文字型など、さまざまな基本データ型が頻繁に使用されます。これらのデータ型を使用する場合は、その定義と使用法を理解するだけでなく、その定数を定義して初期化する方法も理解する必要があります。この記事では、基本的なデータ型定数の定義と初期化方法を紹介し、具体的なコード例を示します。整数定数の定義と初期化方法 整数定数には、int、long、short、byt があります。

PHP の FILTER_SANITIZE_SPECIAL_CHARS 定数 PHP の FILTER_SANITIZE_SPECIAL_CHARS 定数 Aug 20, 2023 pm 09:58 PM

FILTER_SANITIZE_SPECIAL_CHARS 定数は、HTML エスケープ特殊文字をフィルターします。フラグ FILTER_FLAG_STRIP_LOW − ASCII 値が 32 未満の文字を削除します。 FILTER_FLAG_STRIP_HIGH − ASCII 値が 32 を超える文字を削除します。 FILTER_FLAG_ENCODE_HIGH − ASCII 値が 32 を超える文字をエンコードします。 戻り値 FILTER_SANITIZE_SPECIAL_CHARS 定数は何も行いません。サンプルデモ&

PHP の命名規則: アンダースコア命名法を使用して定数とファイル名に名前を付ける方法 PHP の命名規則: アンダースコア命名法を使用して定数とファイル名に名前を付ける方法 Jul 30, 2023 am 10:36 AM

PHP の命名規則: アンダースコア命名法を使用して定数とファイル名に名前を付ける方法 PHP プログラミングでは、コードの読みやすさと保守性を向上させるために、適切な命名規則が非常に重要です。この記事では、アンダースコア命名法を使用して定数とファイル名に名前を付ける方法を紹介し、コード例でそれを示します。定数の命名規則 PHP では、通常、定数はすべて大文字で名前が付けられ、単語はアンダースコアで区切られます。この命名規則は定数と変数を明確に区別しており、読みやすく理解しやすいものです。一般的な定数の命名例をいくつか示します: def

See all articles