PHPの基礎知識に関する注意事項
PHP の基礎知識メモ
include と require の類似点と相違点:
同じ点: 他の php ファイルをインポートできます。
相違点: includeインポート ファイル エラーが発生した場合、警告のみが表示されますが、プログラムは引き続き実行されます。 require でエラーが発生した場合、エラーが報告され、プログラムは終了します。
一般に、include include_once と require_once を使用します。 🎜> と には が必要です。ファイルを紹介するステートメントを最初に配置する必要があります。これは、C 言語と同様です。
php変数では大文字と小文字が区別されますが、関数名では大文字と小文字が区別されません。また、数字で始めることはできません。たとえば、Abc と abc が同じファイル内に存在する場合、エラーが報告されます。
ローカル変数とグローバル変数が同じ名前の場合の解析;
次のコード部分を見てください:
$a=45;
function abc(){ //関数を定義
$a+= 10;
}
abc(); //関数呼び出し
エコー ‘$a=’.$a;
出力結果は何ですか?結果はまだ 45 ですが、なぜですか?関数本体内には、外部変数 $a と同じ名前を持つローカル変数がありますが、これらは同じ変数ではなく、まったく関連のない 2 つの変数です。関数内の変数 $a は、関数の実行後に解放されます。出力は引き続き外部変数です。関数本体内で外部変数 (グローバル変数) を使用する場合は、同じ名前の内部変数の前に global を追加する必要があります。 ステートメント。実際、コンパイラの観点からは、global として宣言すると、このとき、実際には同じ名前の外部変数のアドレスがこのローカル変数に割り当てられます。同じ名前の内部変数と外部変数は同じアドレスにあるため、当然同じ変数になります。関数本体内の仮パラメータ、または global として宣言されていないローカル変数はローカル変数として使用され、スコープは関数本体内になります。たとえば、次のコードの出力結果は、55. ではなく、45, になります。
$a=45;
function abc($a){ //関数を定義
$a += 10;
}
abc($a); //関数呼び出し
エコー ‘$a=’.$a;
php には 3 つのレベルのエラーがあります:
第 1 レベルのエラー: notice、最も軽いエラー。
を実行することもできます。第 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.");
定数にはスカラー データ (boolean、integer、float) のみを含めることができます。
および 文字列)。
定数を呼び出すときは、次のように "$" シンボルを追加する代わりに、名前を使用するだけで定数の値を取得できます。 >echoCONSTANT ;
注:
定数と (グローバル) 変数は異なる名前空間にあります。これは、たとえば TRUE を意味します。
および $TRUE
は違います。
2.共通変数$a = "hello";
3.Variable 変数 (2 つのドル記号を使用 ($))
$$a = "世界" ;
両方の変数が定義されています:
$a の内容は "hello" と $hello です
の内容は「世界」です。
したがって、次のように表現できます:
echo "$a ${$a}"; または echo "$a $hello";どちらも次の出力を行います: こんにちは、世界
配列で可変変数を使用するには、あいまいさを解決する必要があります。 $$a[1] と書くときです。
、パーサーは、 $a[1] が必要かどうかを知る必要があります。
を変数として使用しても、 $$a が必要です
を変数として使用し、変数内のインデックスをとして取り出す [1]
の値。この問題を解決する構文は、最初のケースでは ${$a[1]} を使用し、2 番目のケースでは ${$a を使用します。 }[ 1]。
4.静的変数
関数内static $a =0;
注: 宣言内で式の結果を代入すると、
static $a =3+3;(error)
静的変数はローカル関数ドメイン (関数内) にのみ存在します。関数の実行後、変数値は失われません。
、 は再帰呼び出しに使用できます。
5.
グローバル変数
グローバル変数、関数本体内で定義された関数本体の外で使用できます、global 関数本体の外で定義された変数は、関数本体内では使用できません。グローバル スコープ内の変数にアクセスするには、特別な
PHP カスタム $GLOBALS
配列:
例: $GLOBALS["b"] = $GLOBALS["a"] +$GLOBALS["b"];
関数ドメイン内で グローバルを使用する
ステートメントによってインポートされた実際のグローバル変数は、実際にはグローバル変数 への参照を確立します。
グローバル $obj;
注: 変数 static の場合
および グローバル
定義は、 を適用することで実装されます。
6.変数に値を代入する: アドレスによる代入 (単純な参照):
$bar = &$foo; //代入する変数に
& を追加します
新しい変数を変更すると元の変数に影響があり、この代入操作は高速になります
注: アドレス によって割り当てられるのは名前付き変数のみです
注: の場合
$bar = &$a;
$bar = &$foo
$bar の値を変更すると、変数
foo の値のみが変更できますが、 は変更できませんa の値 (参照変更)
7.PHPスーパーグローバル変数
$GLOBALS : には、参照は、現在の各スクリプトのグローバル スコープで有効な変数を指します。この配列のキーは、グローバル変数の 名です。より
PHP 3 が存在し始めました $GLOBALS
配列。
$_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
および クッキー
メカニズムは変数をスクリプトに送信するため、配列は信頼できません。この配列に含まれるすべての変数の有無と変数の順序は php.ini に従っています。
の変数_順序
定義する構成手順。この配列は直接シミュレートされていません PHP4.1.0
の初期バージョン。 import_request_variables() を参照してください。
注: PHP 4.3.0 以降
以降、$_FILES
のファイル情報は $_REQUEST に存在しなくなりました
で。
$_SESSION
: スクリプト セッションに現在登録されている変数。
無効にする方法
phpinfo():
php.ini
中
disable_functions = phpinfo()
Web サーバーを再起動します。
php の定数
定数は、define (定数名、定数値) でのみ使用できます。 >
定数にはスカラー データ (boolean、integer、float) のみを含めることができます。
および 文字列)。
定数の名前を指定するだけで、定数の値を取得できます。定数の前に $ を追加しないでください。
記号。定数名が動的である場合は、関数 を使用することもできます。
constant() 定数の値を読み取ります。 get_define_constants() を使用します。
は、定義されたすべての定数のリストを取得できます。
注:
定数と (グローバル) 変数は異なる名前空間にあります。これは、たとえば TRUE を意味します。
および $TRUE
は違います。
未定義の定数が使用されている場合、PHP
必要なのは、文字列で呼び出す場合と同様に、定数自体の名前であると仮定します (CONSTANT)
は "CONSTANT" に対応します。この時点で E_NOTICE が発行されます
レベルのエラー。 $w3sky[bar] の理由をマニュアルで参照してください。
はエラーです (最初に 定義() で定義されていない限り)
は バーになります
は定数として定義されます)。特定の定数が定義されているかどうかを確認したいだけの場合は、 defined() を使用します。
関数。
定数と変数は異なります:
* 定数の前にドル記号はありません ($)。
* 定数は、
定義() でのみ使用できます。
代入ステートメントを介さない関数定義
* 定数は、変数スコープの規則に関係なく、どこでも定義してアクセスできます。
*
定数は一度定義すると再定義したり定義を解除したりすることはできません。
*
定数の値はスカラーのみです。
定数を定義します
define("CONSTANT", "Helloworld.");
echo CONSTANT; // 「Helloworld」を出力します。
echo Constant; // 「定数」を出力し、通知を発行します。
?>
飛び込み競技、10人の審査員が得点を出し、最高点と最低点を除いて、残りのジャッジ 平均スコアがアスリートのスコアとなり、試行出力は最高スコアを与えたジャッジ、最低スコアを与えたジャッジ、およびアスリートのスコアに与えられます。
答えは次のとおりです:
12,"ms"=>9.0,"ok"=>7.1,"song"=>5.0,"bold"=>3.8,"know"=>2.7,"wow"=>1.7,"serial"=>7.9,"moder"=>7.6,"froke"=>6.7); function getMinMax($arr,$k=true){ //$k 为 true时输出最小值,为false 则输出最大值,还有平均数 $num=$arr["arial"];$sum=0;$s="arial"; foreach($arr as $i => $value){ if($k){ if($value<$num){ $num =$value;$s=$i; } }else { if($value>$num){ $num =$value;$s=$i; } } } $sum = array_sum($arr); return array($sum,$num,$s); } $newArr=getMinMax($arr,true); $sum=$newArr[0]-$newArr[1]; echo 'the lowest degree people is '.$newArr[2]."
"; unset($newArr); $newArr=getMinMax($arr,false); $sum -= $newArr[1]; echo '
the highest degree people is '.$newArr[2]; echo '
the average degree is '.$sum/(count($arr)-2); ?>

ホットAIツール

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

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

Undress AI Tool
脱衣画像を無料で

Clothoff.io
AI衣類リムーバー

Video Face Swap
完全無料の 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 にアップグレードする方法について説明します。

あなたが経験豊富な PHP 開発者であれば、すでにそこにいて、すでにそれを行っていると感じているかもしれません。あなたは、運用を達成するために、かなりの数のアプリケーションを開発し、数百万行のコードをデバッグし、大量のスクリプトを微調整してきました。

Visual Studio Code (VS Code とも呼ばれる) は、すべての主要なオペレーティング システムで利用できる無料のソース コード エディター (統合開発環境 (IDE)) です。 多くのプログラミング言語の拡張機能の大規模なコレクションを備えた VS Code は、

JWTは、JSONに基づくオープン標準であり、主にアイデンティティ認証と情報交換のために、当事者間で情報を安全に送信するために使用されます。 1。JWTは、ヘッダー、ペイロード、署名の3つの部分で構成されています。 2。JWTの実用的な原則には、JWTの生成、JWTの検証、ペイロードの解析という3つのステップが含まれます。 3. PHPでの認証にJWTを使用する場合、JWTを生成および検証でき、ユーザーの役割と許可情報を高度な使用に含めることができます。 4.一般的なエラーには、署名検証障害、トークンの有効期限、およびペイロードが大きくなります。デバッグスキルには、デバッグツールの使用とロギングが含まれます。 5.パフォーマンスの最適化とベストプラクティスには、適切な署名アルゴリズムの使用、有効期間を合理的に設定することが含まれます。

文字列は、文字、数字、シンボルを含む一連の文字です。このチュートリアルでは、さまざまな方法を使用してPHPの特定の文字列内の母音の数を計算する方法を学びます。英語の母音は、a、e、i、o、u、そしてそれらは大文字または小文字である可能性があります。 母音とは何ですか? 母音は、特定の発音を表すアルファベットのある文字です。大文字と小文字など、英語には5つの母音があります。 a、e、i、o、u 例1 入力:string = "tutorialspoint" 出力:6 説明する 文字列「TutorialSpoint」の母音は、u、o、i、a、o、iです。合計で6元があります

このチュートリアルでは、PHPを使用してXMLドキュメントを効率的に処理する方法を示しています。 XML(拡張可能なマークアップ言語)は、人間の読みやすさとマシン解析の両方に合わせて設計された多用途のテキストベースのマークアップ言語です。一般的にデータストレージに使用されます

静的結合(静的::) PHPで後期静的結合(LSB)を実装し、クラスを定義するのではなく、静的コンテキストで呼び出しクラスを参照できるようにします。 1)解析プロセスは実行時に実行されます。2)継承関係のコールクラスを検索します。3)パフォーマンスオーバーヘッドをもたらす可能性があります。

PHPの魔法の方法は何ですか? PHPの魔法の方法には次のものが含まれます。1。\ _ \ _コンストラクト、オブジェクトの初期化に使用されます。 2。\ _ \ _リソースのクリーンアップに使用される破壊。 3。\ _ \ _呼び出し、存在しないメソッド呼び出しを処理します。 4。\ _ \ _ get、dynamic属性アクセスを実装します。 5。\ _ \ _セット、動的属性設定を実装します。これらの方法は、特定の状況で自動的に呼び出され、コードの柔軟性と効率を向上させます。
