ホームページ > バックエンド開発 > PHPチュートリアル > PHP基礎学習ノート(3)、PHP基礎学習ノート_PHPチュートリアル

PHP基礎学習ノート(3)、PHP基礎学習ノート_PHPチュートリアル

WBOY
リリース: 2016-07-13 10:04:24
オリジナル
882 人が閲覧しました

php基礎学習ノート(3)、php基礎学習ノート

変数:

変数の意味: データの一部を表すために使用されるコード、つまり私たち自身が定義した名前です。

変数の定義: var v1; var v2 = 2; var v6、v7=7、v8、v9="abc";

変数の使用法:

代入: v1 = 1+2+3; v1 = v1 + v1;

Value: m1 = v1 // v1 の値を取得して m1 に代入します。

m2 = v1 + 5; popoppoingに使用する使用を使用して使用する使用をポップアップします

T document.write (v1); // V1 値を取得し、それを document.write に渡して「出力」します

V Alert ("v1 =" + v1); // V1 の値が取得され、文字列 "v1 =" に接続され、結果はアラートになります。

T document.write ("v1 =" + v1);

データタイプ:

基本タイプ:

ブール型: boolean; この型には true、false の 2 つの値のみが使用できます。 S 文字列タイプ: 単一引用符または二重引用符を同じ意味で使用できます。

番号の種類: 番号

複合タイプ:

配列: 配列、

オブジェクト: オブジェクト

特殊なタイプ:

类 NULL: 空の型 - 変数に明確に「null」を割り当てることができます。これは空の値と空の型です。これは単に「意味」を意味します。変数は有効な値を与えません。

未定義: 未定義: このタイプは通常、「値がまったく与えられていない」状態に対応します。

算術演算子:+ - * / %

注: :

1. 割り算(/)は数学における自然な割り算であり、C言語の割り算の意味ではありません。

2、++、および -- は単項演算子と呼ばれ、1 つの変数のみを操作します

3、ただし、++ と – は式 (代入ステートメントなど) で使用できます。これは、自己インクリメント (または自己デクリメント) と式自体の計算という 2 つのことを同時に実行するようなものです。時間に応じて変数に配置されます。 前と後ろは異なる意味を持ちます。

a) var i = 1; var s1 = i++; // 結果は次のようになります: s1 は 1、i は 2 です。

b) var i = 1; var s2 = ++i; //結果は次のようになります: s2 は 2、i は 2 です

比較演算子: > >= < <= == != === !==

比較演算子は、データ (通常は数値) のサイズを比較するために使用されます。その中で注目すべきものは次のとおりです:

== は「あいまい等価性」といい、データの内容または変換後の内容が等しい場合には等しいとみなします。

=== は「厳密等価」と呼ばれ、データ型とデータ内容が等しい場合にのみ等しいとみなされます。

角 - コンピュータの観点から見ると、1 つのデータにはデータ型とデータ値 (データの内容) の 2 つの側面があります

論理演算子: ブール値の演算にのみ使用されます。

論理 AND ( && ): 両方のデータが true の場合にのみ結果が true になります

論理和 ( || ): 2 つのデータのうちの 1 つが true である限り、結果は true になります

論理 NOT ( ! ): ブール値の「反対の値」を取得します

文字列演算子:

連結演算子 ( + ) は 1 つだけです: 「2 つの文字列を接続する」という意味です

算術演算子の加算 ( + ) を区別します:

プラス記号 ( + ) が付いている 2 つのデータのうち、一方が文字列である限り、その文字列の「接続」の意味に従って操作され、もう一方が文字列でない場合は、自動的に文字列に変換されます。文字列に続いて接続されます。

ビット演算子:

ビット演算子は、数値のバイナリ形式に対してのみ実行されます。

var v1 = 5; // これは 10 進数で、実際の 2 進数は 101 ですが、コンピューター内では実際にはこれに似ています: 00000101

var v2 = 6; //これは 10 進数です。実際の 2 進数は 110 です。コンピューター内では、実際には 00000110 と似ています。

ビットごとの AND:

記号: &

意味: 2 つの 2 進数の対応するビットに対して「AND 演算」を実行します。結果は、これらのビット演算の結果から構成される 2 進数で表される値のままです。

説明: 2 進数の「AND 演算」のルールは次のとおりです:

1 & 1 è 1

1 & 0 è 0

0 & 0 è 0

例:

var v1 = 5、v2 = 6、動作図は次のとおりです:

v1=5
0

0

0

0

0

1

0

1

v2=6
0

0

0

0

0

1

1

0

v1 と v2
0

0

0

0

0

1

0

0

var v3 = v1 & v2 = 00000100(2) = 4(10)

ビットごとのOR:

記号: |

意味: 2 つの 2 進数の対応するビットに対して「OR 演算」を実行し、結果はこれらのビット演算の結果から構成される 2 進数で表される値になります。

説明: 2 進数に対して「OR 演算」を実行するためのルールは次のとおりです:

1

ビット単位の否定:

記号: ~ //これは「単項演算子」です

意味: 2 進数の対応するビットの数値に対して「not 演算」を実行し、その結果がこれらの 2 進数で表される値になります。

説明: 2 進数での「非演算」のルールは次のとおりです:

ビット単位の左シフト演算:

記号: <<

个 意味: 左側の指定されたビット番号を 2 進数の各ビットに移動します。左側の「取り出し」は問題になりません (計算されません)。右側の空の位置に「0」を埋めます。 result は 2 進数で表される値です。

例:

var v1 = 5; var v2 = 5 << 2; 動作図は次のとおりです。

v1=5

0シンボル: >> cigned指定された数字の数で、バイナリ番号の各数字の数字を右に移動します。結果はバイナリ番号で表されます。

例:

var v1 = 5; var v2 = 5 >> 動作図は次のとおりです。

v1=5

0

0

0

0

0

1

0

1

v2= 5 << 2

0
0

0

1

0

1

0

0

var v2 = 5 << 2 = 00010100(2) = 1 * 24 + 1*22 = 16+4 = 20(10)

ビット単位の左シフト演算:
00

var v2 = 5>> 2 = 00000001(2) = 1(10)

オペレーター追加コンテンツ:

代入演算子: 実際、これは基本的な代入演算子: = で、等号の右側のデータを等号の左側の変数に代入することを意味します。

間違った文法: 」

var v1 = 1、v2 = 2、v3 = 5、v4 = -2;

V1 + V2 = V3 + V4;

複合代入演算子: += -= *= /= %=

演算子の優先順位 - 多すぎて複雑すぎて覚えることができませんが、いくつかのルールを覚えておいてください:

1. 注意: オペレーターには優先順位 (順序) の問題があります。

2、括弧が最も優先され、等号(代入)は最後になります。

3、最初に掛け算と割り算をしてから、足し算と引き算をします

4. 明確に考えられない場合や理解できない場合は、括弧を使用して解決してください

5、括弧は単に括弧であり、レイヤーごとにネストできます。

例:

変数年 = 2013;

// 閏年を決定する: 年が 4 で割り切れて 100 で割り切れない場合は閏年であり、400 で割り切れる場合も閏年です。

{ document.write( year + "うるう年です") ;}

データ値の転送方法:

var v1 = 10;

var v2 = v1; // v1 の中間値をコピーし、変数 v2 に代入します - これは、「v1 の値を v2 に渡す」とも言えます

var v1 = v1 + v1; //v1 の値は変更されますが、v2 自体は独立変数であるため、v2 には影響しません。

document.write("
v1=" + v1);

document.write("
v2=" + v2); //10、いいえ、40、

上記の「v2 = v1」は「値によるコピー」と呼ばれます。v1 の値を取得し、コピーを作成して、それを v2 に割り当てます

var v3 = {name:"小花", age:18, edu:"University"}; //これはいわゆる「オブジェクト」タイプであり、3 つのデータが含まれています。

//データの操作は次のようになります:

document.write("
v3 オブジェクトの経過時間は次のとおりです: " + v3.age);

v3.age = 19; //v3 オブジェクトの年齢データの値には、前の v1 = 20 と同様に新しい値が繰り返し割り当てられます。

var v4 = v3; //このとき、v3 変数の「メモリアドレス」が v4 変数に渡され、実際には v3 オブジェクト自体のデータはこのアドレスからのみ取得されます。 ——これを値による参照といいます——このとき、2つの変数は実際には同じデータ内容を持ち、これは人の複数の名前(本名、芸名、スクリーン名、ニックネーム)と同様です

document.write("
v4 でのこのオブジェクトの経過時間は次のとおりです: " + v4.age);

v3.age = 20;

document.write("
現時点での v4 オブジェクトの年齢は次のとおりです: " + v4.age);

概要:

本 JSでは、基本的なデータ型は「値をコピーして渡す」、つまり値を渡すと新しいデータが生成されます(もちろん別の変数でも表現します)

複合データ型 (配列とオブジェクト) は、値が渡されたときの値の値である「参照値」を使用しますが、データにはまだ 1 つのコピーしかなく、2 つの変数は同じデータを指します。

分岐構造の場合:

制御構造: 特定の構文を使用してプログラムの実行フローを制御することです。「プロセス制御構造」とも呼ばれます

分岐とは、「複数の道、1 つを取る」という意味です。

最も単純な形式

:

//この条件が満たされる場合 (つまり、条件判定の結果が true の場合)、その中のステートメント ブロックが実行されます。そうでない場合は何も行われません。

if(条件判定文)

{

// 実行されるステートメント ブロック - ステートメント ブロックは、実際には「n 個のステートメント」の総称です。

}

分岐フォームを 1 つ選択してください: 意味は、2 つの道があり、1 つを選択する必要があるということです。

if(条件判定文)

{

// 実行されるステートメント ブロック 1 - 前の条件が true の場合に実行されます

}

その他

{

// 実行されるステートメント ブロック 2 - 前の条件が true でない場合に実行されます

}

分岐構造を 1 つ選択します: 条件に応じて複数のパスの 1 つを選択しますが、どのパスも選択できない場合があります:

if(条件判定1) //この条件が満たされた場合、ステートメントブロック1が実行され、その後ifが終了します

{

// ステートメントブロック 1

}

else if (条件判定2) //条件1が満たされない場合は条件2を判定し、満たされている場合は文ブロック2を実行して終了 if

{

// ステートメントブロック 2

}

else if (条件判定3) //条件2が満たされない場合は条件3を判定、満たされている場合は文ブロック3を実行して終了 if

{

// ステートメントブロック 3

}

………………………………………… 。 。 。 。 。いずれの条件も満たされない場合は、最後に何も実行されず、if は終了します。

総合型:

if(条件判定1) //この条件が満たされた場合、ステートメントブロック1が実行され、その後ifが終了します

{

// ステートメントブロック 1

}

else if (条件判定2) //条件1が満たされない場合は条件2を判定し、満たされている場合は文ブロック2を実行して終了 if

{

// ステートメントブロック 2

}

else if (条件判定3) //条件2が満たされない場合は条件3を判定し、満たされている場合は文ブロック3を実行して終了 if

{

// ステートメントブロック 3

}

…………………… 。 。 。 。 。

その他

{

// 最後の else ステートメントブロック。 //このステートメント ブロックは、前の条件が満たされない場合に実行されます。

}

注: 包括的なフォームでは、実行される分岐 (ステートメント ブロック) が 1 つ必要です。

ブランチ構造の切り替え:

switch の分岐構造の全体的な意味は if の構造と似ており、その使用形式は次のとおりです:

switch (変数または式) //変数であっても式であっても、最終的には「値」を表します。話すためには v1 を使用します

{

case 固定値 1: //v1 が値 1 と等しい場合、ステートメントブロック 1 が実行されます

// ステートメントブロック 1;

休憩。 aut Out Out 、、、、、、、、、、、 - 。

// ステートメントブロック 2;

休憩。

ケース………………………………

。 。 。 。 。 。 。 。 。 。 。 。 。 。 。 。 。

T デフォルト: // 前の判断が成立しない (つまり、等しくない) 場合、この文が実行されます。

//デフォルトのステートメントブロック

}

特記事項: if ステートメントでは、実際には > などの非常に柔軟な条件判断を使用できます。

while ループ構造:

循環の基本概念:

1. ループとは、特定のプログラム (ステートメントのブロック) を繰り返し実行することです

2. ループを止める方法があるはずです - コンピューターには「疲れた、もうやらない」と判断する独自の判断能力がありません

while ループの基本構文形式:

while (条件判定) //条件判定が満たされた場合はステートメントブロックが実行され、そうでない場合は while が終了します。

{

// 実行されるステートメントブロック

} // このステートメントブロックが実行されると、すぐに前の while 位置に戻り、判定を続行します。

上記の形式は文法の基本的な要件にすぎませんが、「実践的な」状況では通常、次のパターンに従う必要があります:

【ループ変数の初期化】

while ( 【条件判定としてループ変数】 )

{

【ループ変数値の変更】

}

do while ループ構造:

do whileループは、最初に1回実行し、その判定条件に基づいて実行を継続するかどうかを決定してループするループ構造です。

do while の実際の形式は次のとおりです:

【ループ変数の初期化】

やります

{

【ループ変数値の変更】

} while ( [条件判定として変数をループ] ) ;

説明: まず do の後の括弧内のステートメント ブロックを実行し、次に while ステートメントで条件判定を実行します。判定が true (真) の場合は引き続き上記の do に戻り、中括弧内のステートメント ブロックを実行します。それは終わります。

for ループ構造 - 推奨される使用法:

for ループの基本形式:

for( [ループ変数Aの初期化]; [条件判定としてのループ変数B]; [ループ変数の値Cの変更] )

{

// 繰り返し実行されるステートメントブロックであるループ本体 D

}

forループの実行ロジック(シーケンス):

A è Bètrue è D è C è Bètrue è D è C è Bè

機能

関数は数値ではありません。

関数は単なる構文構造です。

関数は、複数行のコードを「パッケージ化」し、全体として使用する文法構造です。

関数は、変数と同様に、定義して使用する必要がある構文であると言えます。定義して使用する必要があります。

関数は特定の機能を達成するように設計されており、通常は「繰り返し実行する必要がある関数」です。関数の目的は、その関数にラップされているコードブロック(ステートメントブロック)を実行することです

関数は独立した実行空間です。つまり、関数内のコードは関数の外側のコードから「分離されている」と考えることができます。

関数の定義形式:

function関数名(仮引数1、仮引数2、...)

{

// 実行されるステートメントブロック - 関数本体

}

var s1 = parseInt(3.5);

var s2 = parseInt(3.8);

var s3 = parseInt(3.1);

var s4 = parseInt(3.0);

var s5 = parseInt(3) //3

;

——parseInt は実際には関数、つまりシステム内部関数です。この関数には、指定された数値を対応する整数 (指定された数値以下の最大の整数) に変換する「魔法の能力」があります。

リクエストをする:

2つの直角辺3と4に対応する斜辺を求めたいです。

ボール 5 と 6、ボール 7 と 8 などに対応する斜辺も必要です。 。 。 。 。 。 。 。

関数とは正確には何ですか?関数は、モジュール型プログラミングのアイデアを文法的に具体化したものにすぎません。いわゆるモジュール型プログラミングのアイデアは、さまざまな「繰り返しタスク」を独立した「モジュール」にし、使用するときにそれらを「直接呼び出す」ことで、繰り返しタスクの必要性をなくすというものです。書くこと。

関数の呼び出し形式

:

関数名 (実パラメータ 1、実パラメータ 2、....);

関数呼び出しプロセス

:

1、まず、関数呼び出し時の実パラメータ値を関数定義時の仮パラメータに1対1対応で渡します。 a) 仮パラメータは、関数の機能に応じて、特定の実際の意味を表す「変数名」のみである必要があります。

b) 実際のパラメータは 1 つの「データ」のみである必要があります (直接データまたは変数データの場合があります)

c) 注: 仮パラメータの変数名では var を使用したり、他の場所で定義したりすることはできません。

2、その後、プログラムの実行フローが関数に入り、関数内の「すべてのステートメント」が適切なフローに従って実行されます

3. 関数内のプログラムの実行が完了すると、プログラムの実行フローは関数呼び出しの位置に戻ります。

a) 関数によって実行されるタスクに戻り値が必要な場合、値を返すために return ステートメントを使用する必要があります。この時点で関数は自然に終了します。

b) 関数が値を返す必要がない場合は、return ステートメントも使用できます。この時点では、関数がここですぐに終了することを示すだけです (すべてのステートメントが完全に実行されるわけではありません)。

関数の戻り値

2

cases: 戻り値があります。これは、関数が特定の「計算」(実行) 後にデータを取得し、そのデータが呼び出し元 (呼び出し元) に返されることを意味します。このとき、それを実現するには「return a value;」を使用する必要があります。 ——たとえば、上司が一定額を受け取って従業員に電車の切符を買うように指示した場合、従業員は購入した電車の切符を上司に返却する必要があります。 特記事項: 戻り値がある場合、関数呼び出しは値として扱われる必要があります。 文法によって決定されず、実際のニーズによって決定される関数の戻り値はありますか。文法は実際のニーズに従ってのみ変更されます。

表示 戻り値なし: 関数は実行中にコードを実行するだけで、実行完了後に「呼び出し元」にデータを返す必要がないことを意味します。

関数のパラメータ

: 文法的な規制はまったくありません。代わりに、パラメータの有無やパラメータの数、つまり、必要なデータをアプリケーション自体のニーズに応じて決定します。このデータは関数の関数の仮パラメータとしても反映され、それぞれの仮パラメータはある意味(データ)を表します。

変数の範囲

いわゆるスコープとは「有効かつ利用可能な範囲」を指します

スコープには 2 種類あります:

グローバル スコープ: すべてのプログラム スコープで使用できる (有効な) スコープ。

フィールド ローカルアクションスコープ:使用できる(有効な)範囲は、特定の範囲(通常は関数内)でのみ使用できます。

変数はスコープの観点から 2 つのタイプに分類されます:

グローバル変数: グローバルスコープで使用できる変数を指します(有効)。関数の外で定義された変数はグローバル変数です。グローバル変数は関数の外部と内部の両方で使用できます。

ローカル変数: 特定のスコープ (通常は関数) 内でのみ有効な変数を指します。通常は変数が定義されている関数内です

システム内部関数

parseInt(xxx): パラメータ xxx を整数に変換する - 丸め演算。

parseInt(3);

parseInt( 3.8);

parseInt(3.1);

parseInt(“3”); è 3

parseInt( “3.8” ) è 3

parseInt( “3.1” ); è 3

parseInt( “3abc” ); è 3

parseInt( “3.8abc” );è 3

parseInt( “3.1abc” );è 3

parseInt( “abc3” ) è NaN

parseInt( “abc 3.8” );è NaN

parseInt( “abc3.1” );è NaN

parseInt( “abc” ) è NaN

NaN - これは特別な数値 (タイプ数値) であり、その意味は次のとおりです: 数値ではありません - この状況は通常、数値が必要であるが、提供されたデータが数値ではないか、数値に変換できないことを意味します。 ——数値 NaN は、それ自体を含め、どの数値とも等しくありません。

parseFloat(xxx): パラメータ xxx を 10 進数に変換します。

parseFloat (3);

parseFloat (3.8);

parseFloat ( 3.1 ); è 3.1

parseFloat (「3」);

parseFloat ( "3.8" );

parseFloat (「3.1」);

parseFloat ( "3abc" ) è 3

parseFloat ( “3.8abc” );

parseFloat ( “3.1abc” ) è 3.1

;

parseFloat ( "abc3" ) è NaN

;

parseFloat ( "abc 3.8" );

parseFloat ( "abc3.1" ) è NaN

;

parseFloat ( "abc" ) è NaN

;

Number(xxx): パラメータ xxx を「数値」に変換します。parseFloat との比較に注意してください。

数字 ( 3 )

数字 (3.8) è 3.8

番号 (3.1);

数字 (「3」)

番号(「3.8」);

番号 (「3.1」);

番号 (「3abc」 );

数値 ( "3.8abc" ) è NaN

数値 (“3.1abc” ) è NaN

番号 (「abc3」);

数値 (「abc 3.8」) è NaN

番号 ( "abc3.1" ) è NaN

番号 (「abc」);

isNaN(xxx): パラメータ xxx が「数値ではない」かどうかを判断します - 数値でない場合、結果は true、数値である場合、結果は false

) イスナン (3) は誤りです

. イスナン (3.8) は誤りです。

isNaN (3.1);

はNaN (「3」); 3 イスナン (「3.8」) è False;

isNaN (「3.1」) è false

isNaN (“3abc” ); 3 イスナン (「3.8ABC」) è true

;

isNaN (“3.1abc” );

isNaN (「abc3」);

isNaN ( "abc 3.8" );

isNaN (「abc3.1」);

isNaN (「abc」) è true

;

http://www.bkjia.com/PHPjc/966287.html

www.bkjia.com

tru​​e

http://www.bkjia.com/PHPjc/966287.html

技術記事

PHP基礎学習ノート(3)、PHP基礎学習ノート 変数: 変数の意味: データのコード名を表すために独自に定義した名前です。 変数の定義: var v...

0

0

0

1

0

1

v2= 5>> 2

0

0

0

0

0

0

1

関連ラベル:
php
ソース:php.cn
このウェブサイトの声明
この記事の内容はネチズンが自主的に寄稿したものであり、著作権は原著者に帰属します。このサイトは、それに相当する法的責任を負いません。盗作または侵害の疑いのあるコンテンツを見つけた場合は、admin@php.cn までご連絡ください。
最新の問題
人気のチュートリアル
詳細>
最新のダウンロード
詳細>
ウェブエフェクト
公式サイト
サイト素材
フロントエンドテンプレート