include と require の類似点と相違点:
類似点: どちらも他の php ファイルを導入できます。
違い: インクルードファイルエラーが発生した場合、警告のみが表示されますが、プログラムは引き続き実行されます。 require でエラーが発生した場合、エラーが報告され、プログラムは終了します。
一般的には、include と require の代わりに include_once と require_once が使用されます。 C 言語と同様に、ファイルを紹介するステートメントを最初に配置する必要があります。
PHP 変数では大文字と小文字が区別されますが、関数名では大文字と小文字が区別されません。また、数字で始めることはできません。たとえば、Abc と abc が同じである場合、これら 2 つの関数が同じファイル内に共存すると、エラーが報告されます。
ローカル変数とグローバル変数が同じ名前である場合の状況の分析;
以下のコードを見てください:
$a=45;
function abc(){ //関数を定義します
$a+= 10;
}
abc() //関数を呼び出す
エコー ‘$a=’.$a;
出力結果は何ですか?結果はまだ 45 ですが、なぜですか?関数本体内には、外部変数 $a と同じ名前を持つローカル変数がありますが、これらは同じ変数ではなく、まったく関係のない 2 つの変数です。関数内の変数 $a は、関数の実行が完了すると解放されます。出力は外部変数のままです。関数本体内で外部変数 (グローバル変数) を使用する場合は、同じ名前の内部変数の前にグローバル ステートメントを追加する必要があります。実際、コンパイラから見ると、グローバルとして宣言すると、実際にはこのローカル変数に同名の外部変数のアドレスが代入されます。このとき、内部変数と同名の外部変数は、同じアドレスなので、当然同じ変数になります。関数本体内の仮パラメータ、またはグローバルとして宣言されていないローカル変数はローカル変数として使用され、スコープは関数本体内になります。たとえば、次のコードの出力結果は 55 ではなく 45 です。
$a=45;
function abc($a){ //関数を定義します
$a += 10;
}
abc($a); //関数を呼び出す
エコー ‘$a=’.$a;
PHP には 3 つのレベルのエラーがあります:
第一レベルのエラー: 最も軽いエラーですが、まだ実行可能であることに注意してください
第 2 レベルのエラー: 警告、警告、まだ実行できます
第 3 レベルのエラー: エラー、プログラムを実行できません。このエラーは最も重大なエラーです
。
設定解除機能の説明:
(PHP 3、PHP 4)
unset -- 指定された変数を解放します。この変数を使用したくない場合は解放できます。
説明
void unset (mixedvar [,mixed var[, ...]])
unset() は指定された変数を破棄します。 PHP 3 では、unset() は TRUE (実際には整数値 1) を返すことに注意してください。一方、PHP 4 では、unset() は実際の関数ではなくなり、ステートメントになりました。戻り値がないため、unset() の戻り値を取得しようとすると解析エラーが発生します。
関数内でグローバル変数を unset() した場合、ローカル変数のみが破棄され、呼び出し環境内の変数は unset() を呼び出す前と同じ値を維持します。つまり、グローバル変数は関数の外では変更されません。関数内で参照によって渡された変数を unset() すると、ローカル変数のみが破棄され、呼び出し環境内の変数は unset() を呼び出す前と同じ値を保持します。つまり、仮パラメータはアドレス文字です。
php は C 言語に似ていますが、ポリモーフィズムをサポートしておらず、同じ名前の関数の存在は許可されません。ただし、仮パラメータの値を省略したり、記述する数を減らしたりすることができます。呼んでいます。仮パラメータにデフォルト値を割り当てることもできます。たとえば、関数 diyMethod($a,$b=3) は、仮パラメータにデフォルト値 3 を割り当てます。PHP 関数のデフォルト値の転送方法は、参照転送 (アドレス転送) を使用する場合に追加します。仮パラメータの前のアドレス文字、それだけです。参照による受け渡しは、実際には、仮パラメータに対応する受信パラメータを偽装した形式のグローバル変数に変換することに少し似ています。グローバルな声明はありませんが。参照渡しでは、渡されたパラメータの値が変更されます。ただし、ここでの参照は C 言語のポインタではないことに注意してください。ポインタ自体が変数であり、php の参照は実際には変数のエイリアスであるため、1 つのアドレスに複数の変数名を付けることができます。 PHP でのクォートとは、同じ変数の内容に異なる名前でアクセスすることを意味します。 global $var を使用して変数を宣言すると、実際にはグローバル変数への参照が作成されます。
phpで変数と定数を定義する方法
1. 定数を定義します。define("CONSTANT", "Hello world.");
定数にはスカラー データ (ブール、整数、浮動小数点、文字列) のみを含めることができます。
定数を呼び出すときは、「$」記号を追加せずに、名前を使用するだけで定数の値を取得できます。例: echoCONSTANT;
注: 定数と (グローバル) 変数は異なる名前空間にあります。これは、たとえば TRUE と $TRUE が異なることを意味します。
2. 通常の変数 $a = "こんにちは";
3. 可変変数 (2 つのドル記号 ($) を使用)
$$a = "世界";
両方の変数が定義されています:
$aの内容は「hello」、$helloの内容は「world」です。
したがって、次のように表すことができます:
echo "$a ${$a}"; または echo "$a $hello" は両方とも hello world を出力します
配列で可変変数を使用するには、あいまいさを解決する必要があります。これは、$$a[1] を記述するときに、パーサーは $a[1] を変数として必要とするか、または $$a を変数として必要としてインデックス [1] 値を持つ変数を抽出するかを知る必要があります。この問題を解決する構文は、最初のケースには ${$a[1]} を使用し、2 番目のケースには ${$a}[1] を使用します。
4. 静的変数
関数内 static $a =0;
注: 宣言内の式の結果を代入すると、 static $a =3+3 (error) などの解析エラーが発生します。
静的変数はローカル関数ドメイン (関数内) にのみ存在し、関数の実行後も変数値は失われず、再帰呼び出しに使用できます。
5. グローバル変数
関数本体内で定義されたグローバル変数は、関数本体の外で使用できます。関数本体の外で定義されたグローバル変数は、関数本体内では使用できません。グローバル スコープ内の変数にアクセスするには、特別な PHP カスタム $GLOBALS 配列を使用できます。
例: $GLOBALS["b"] = $GLOBALS["a"] +$GLOBALS["b"];
関数スコープ内で global ステートメントを使用してインポートされた実際のグローバル変数は、実際にグローバル変数への参照を確立します
グローバル $obj
注: 変数の静的定義とグローバル定義はアプリケーションの方法で実装されます
6. 変数に値を代入する: アドレスによる代入 (単純な参照):
$bar = &$foo; //代入する変数の前に&記号を追加します
新しい変数を変更すると元の変数に影響し、この代入操作は高速になります
注: アドレスによって割り当てることができるのは名前付き変数のみです
注:
の場合
$バー = &$a;
$バー = &$foo;
$bar の値を変更すると、変数 foo の値のみが変更され、a の値は変更されません (参照が変更されました)
7.PHP スーパーグローバル変数 $GLOBALS: 現在の各スクリプトのグローバル スコープで有効な変数を指す参照が含まれています。この配列のキーには、グローバル変数の名前が付けられます。 $GLOBALS 配列は PHP 3 以降に存在します。
$_SERVER: 変数は Web サーバーによって設定されるか、現在のスクリプトの実行環境に直接関連付けられます。古い $HTTP_SERVER_VARS 配列に似ています (まだ有効ですが、非推奨です)。
$_GET: HTTP GET メソッド経由でスクリプトに送信される変数。
$_POST: HTTP POST メソッド経由でスクリプトに送信される変数。
$_COOKIE: HTTP Cookie メソッド経由でスクリプトに送信される変数。
$_FILES : HTTP POST ファイルアップロード経由でスクリプトに送信された変数。
ファイルアップロードフォームには enctype="multipart/form-data" が必要です
$_ENV: 実行環境によってスクリプトに送信される変数。
$_REQUEST: 変数は GET、POST、COOKIE メカニズムを介してスクリプトに送信されるため、この配列は信頼できません。この配列に含まれるすべての変数の有無、および順序は、php.ini の variables_order 設定ディレクティブに従って定義されます。この配列は、PHP4.1.0 の以前のバージョンを直接エミュレートしません。 import_request_variables() を参照してください。
注: PHP 4.3.0 以降、$_FILES のファイル情報は $_REQUEST に存在しなくなりました。
$_SESSION: スクリプト セッションに現在登録されている変数。
phpinfo()を無効にする方法:
php.ini
disable_functions = phpinfo()
Webサーバーを再起動します。
PHPの定数
定数は (定数名、定数値) のみ定義できます。
定数にはスカラー データ (ブール値、整数、浮動小数点数、文字列) のみを含めることができます。
定数の名前を指定するだけで定数の値を取得できます。定数の前に $ 記号を追加しないでください。定数名が動的であれば、関数を使用することもできます
constant() 定数の値を読み取ります。 get_define_constants() を使用して、定義されているすべての定数のリストを取得します。
注: 定数と (グローバル) 変数は異なる名前空間にあります。これは、たとえば TRUE と $TRUE が異なることを意味します。
未定義の定数が使用される場合、PHP は文字列 (CONSTANT は「CONSTANT」に対応します) で呼び出すかのように、必要なのは定数自体の名前であると想定します。 E_NOTICE レベルのエラーが発行されます。 $w3sky[bar] が間違っている理由についてはマニュアルを参照してください (bar が事前にdefine() で定数として定義されている場合を除く)。特定の定数が定義されているかどうかだけを確認したい場合は、define() 関数を使用します。
定数と変数は異なります:
* 定数の前にドル記号 ($) はありません。
* 定数は、代入ステートメントではなく、define() 関数を使用してのみ定義できます。
* 定数は、変数スコープのルールに関係なく、どこでも定義してアクセスできます。
* 一度定義した定数は再定義したり、定義を解除したりすることはできません。
* 定数の値はスカラーのみです。
定数を定義する
define("CONSTANT", "Helloworld.");
echo CONSTANT; // 「Helloworld」を出力します。
echo Constant; // 「定数」を出力し、通知を発行します。
?>
飛び込み競技、10人のジャッジが採点し、最高点と最低点を除いた残りのジャッジの得点の平均を選手の得点として求め、最高点のジャッジと最低点のジャッジに出力しようとするスコア、およびプレーヤーのスコア。
答えは次のとおりです:
リーリー
http://www.bkjia.com/PHPjc/532689.html
www.bkjia.com
本当
http://www.bkjia.com/PHPjc/532689.html技術記事 include と require の類似点と相違点: 類似点: どちらも他の php ファイルを導入する可能性があります。 違い: include でエラーが発生した場合、警告のみが表示されますが、プログラムは引き続き実行されます...