ホームページ  >  記事  >  バックエンド開発  >  PHP 制御ステートメント_PHP チュートリアル

PHP 制御ステートメント_PHP チュートリアル

WBOY
WBOYオリジナル
2016-07-21 16:05:14849ブラウズ

1. IF ステートメント

IF ステートメントは、ほとんどの言語で重要な機能であり、条件に基づいてプログラムセグメントを実行します。 PHP の IF ステートメントは、C:

if (expr)

statement


式のところで説明したように、expr は真理値に評価されます。 expr が TRUE の場合、PHP は対応するステートメントを実行し、FALSE の場合は無視します。

$a が $b より大きい場合、次の例は「a は b より大きい」と表示します:

if ($a > $b)

print "a は b より大きい"


通常; 、条件に基づいて複数のステートメントを実行する必要があります。もちろん、すべてのステートメントに IF 判定を追加する必要はありません。代わりに、複数のステートメントを 1 つのステートメント グループにグループ化できます。
If ステートメントは他の IF ステートメント内にネストでき、プログラムのさまざまな部分を柔軟かつ条件付きで実行できます。

2. ELSE ステートメント

通常、特定の条件が満たされた場合に 1 つのステートメントを実行し、条件が満たされない場合に別のステートメントを実行する必要があります。これを行うには ELSE が使用されます。 ELSE は IF ステートメントを拡張し、IF ステートメントの式が FALSE の場合に別のステートメントを実行します。例えば、次のプログラムを実行すると、$a が $b より大きい場合は「a は b より大きい」と表示され、それ以外の場合は「a は b より大きくない」と表示されます。 $b) {
print "a は b より大きい";
}
else {
print "a は b より大きい"
}



3. ELSEIF ステートメント

ELSEIF は、その名の通り、 IF と ELSE の組み合わせ。ELSE と同様に、IF 式が FALSE の場合に他のステートメントを実行するように IF ステートメントを拡張します。ただし、ELSE とは異なり、ELSEIF 式も TRUE の場合にのみ他のステートメントが実行されます。

1つのIF文の中で複数のELSEIF文を使用できます。 ELSEIF 式が TRUE である最初のステートメントが実行されます。 PHP 3 では、「else if」(2 つの単語として記述) および「elseif」(1 つの単語として記述) を記述しても、同じ効果が得られます。書き方が少し違うだけで (C に詳しい人なら同じです)、結果はまったく同じです。

ELSEIF文は、IF式とその前のELSEIF式が両方ともFALSEで、現在のELSEIF式がTRUEの場合にのみ実行されます。
以下は、ELSEIF と ELSE を含む入れ子形式の IF ステートメントです。

if ($a==5):
print "a == 5"; :
print "a = 6";
print "!!!";
else:
print "a is not 5 or 6";
endif; WHILE ループは PHP 3 の単純なループです。 C と同じように。 WHILE ステートメントの基本的な形式は次のとおりです:

WHILE(expr) ステートメント

WHILE ステートメントの意味は非常に単純です。これは、WHILE 式が TRUE である限り、ネストされたステートメントを繰り返し実行するように PHP に指示します。 WHILE 式の値は各ループの開始時にチェックされるため、ネストされたステートメント内でその値が変更された場合でも、この実行はループの終わりまで終了しません (PHP がネストされたステートメントを実行するたびにループと呼ばれます) )。 IF ステートメントと同様に、中かっこを使用してステートメントのグループを囲み、同じ WHILE ループ内で複数のステートメントを実行できます。

WHILE(expr):statement ... ENDWHILE; 次の例はまったく同じです。すべての入力された数値 1 から 10:



/* example 1 */
$i=1;
while ($i print $i++; /* 出力される値は増分前の $i になります。 (post -
インクリメント) */
}

/* 例 2 */
$i=1;
while ($i<=10): print $i
$i++; 5.DO ..WHILE ステートメント

DO..WHILE は WHILE ループとよく似ていますが、式が true かどうかをループの先頭ではなく各ループの最後にチェックする点が異なります。 厳密な WHILE ループとの主な違いは、厳密な WHILE ループ (ループの先頭でチェックされる) の代わりに、DO..WHILE の最初のループが実行される必要がある (真理値式はループの最後でのみチェックされる) ことです。各ループ) 真理式、最初が FALSE の場合、ループはただちに実行を終了します)

$i = 0;
do {
print $i;
} while ($i>0);


最初のループの後、真理値式がチェックされると FALSE ($i が 0 より大きくない) と計算されるため、上記のループは 1 回だけ実行されます。ループの実行が終了します。

6. FOR ループ文

FOR ループは、PHP で最も複雑なループです。 C と同じように。 FOR ループの構文は次のとおりです:

FOR (expr1; expr2; expr3) ステートメント

最初の式 (expr1) はループの先頭で無条件に評価 (実行) されます。
ループを通過するたびに、式 expr2 が評価されます。結果が TRUE の場合、ループとネストされたステートメントは実行を続けます。結果が FALSE の場合、ループ全体が終了します。
各ループの最後で、expr3 が評価 (実行) されます。各式は null になる可能性があります。expr2 が空の場合、ループの数は可変です (PHP のデフォルトは C と同様に TRUE です)。 FOR 真理式の代わりに条件付き BREAK ステートメントでループを終了する場合を除き、これを行わないでください。
次の例を考えてみましょう。それらはすべて 1 から 10 までの数字を表示します:

/* example 1 */
for ($i=1; $i<=10; $i++) {
print $i
}

/* example 2 */
for ($i = 1;;$i++) {
if ($i > 10) {
break;
}
print $i;
}

/* 例 3 */ $i = 1; (;;) {
if ($i > 10) {
break;
}
print $i もちろん、最初の例が最も優れていますが、これを使用すると、空の式が次のように使用できることがわかります。 FOR ループでは多くの状況が発生します。
他の言語には、配列またはハッシュ テーブルを反復するための foreach ステートメントがあります。 PHP は、while ステートメントと list()、each() 関数を使用してこの機能を実現します。

7. SWITCH 選択ステートメント

SWITCH ステートメントは、同じ式に対する一連の IF ステートメントのようなものです。多くの場合、同じ変数 (または式) を多くの異なる値と比較し、異なる比較結果に基づいて異なるプログラム セグメントを実行する必要があります。これが SWITCH ステートメントの目的です。

次の 2 つの例は、同じことを異なる方法で実行しています。1 つは IF ステートメントのセットを使用し、もう 1 つは SWITCH ステートメントを使用しています。

/* example 1 */
if ($i == 0) {
print " i == 0";
}
if ($i == 1) {
print "i == 1";
}
if ($i == 2) {
print "i == 2";
}

/ * 例 2 */
switch ($i) {
case 0:
print "i = 0"
case 1:
print "i = 1";等しい 2";
break;
}



(2), REQUIRE ステートメント

REQUIRE ステートメントは、C の前処理 #include と同じように、指定されたファイルで自身を置き換えます。
これは、関数を呼び出すたびに異なるファイルの内容を含めるために、require() ステートメントをループ構造に置くことはできないことを意味します。これを行うには、INCLUDE ステートメントを使用します。

require('header.inc');

(3), INCLUDE ステートメント

INCLUDE ステートメントには、指定されたファイルがインクルードされます。
INCLUDE が見つかるたびに、INCLUDE ステートメントには指定されたファイルがインクルードされます。したがって、ループ構造内で INCLUDE ステートメントを使用して、一連の異なるファイルを含めることができます。

$files = array('first.inc', 'first.inc', 'third.inc');
for ($i = 0; $i < count($files); $i++) {
include ($files[$i]);


(4), Function

関数は次の構文で定義できます:

Function foo( $arg_1, $arg_2, ..., $arg_n ) {
echo "関数の例。\n";
return $retval;
}


他の関数やクラス定義も含め、任意の有効なPHP3コードを関数で使用できます

1.関数の戻り値

関数を渡すことができます選択した return ステートメントは値を返します。戻り値は、リストやオブジェクトなど、任意の型にすることができます。

function my_sqrt( $num ) {
return $num * $num;
}
echo my_sqrt( 4 ) // 関数は同時に複数の値を返すことはできません。実装するメソッドのリストを返すことができます:



function foo() {
return array( 0, 1, 2 )
}
list( $zero, $one, $two ) = foo();

2. パラメータ

外部情報は、パラメータ リストを通じて関数に渡すことができます。パラメータ リストは、カンマで区切られた一連の変数および/または定数です。
PHP3は、値型パラメータ(デフォルト)、変数パラメータ、デフォルトパラメータをサポートしています。可変長パラメータリストはサポートされていませんが、配列を転送することで実装できます。

3. 関連パラメータ

デフォルトでは、関数パラメータは値で渡されます。関数が受信引数の値を変更できるようにする場合は、可変引数を使用できます。
関数の仮パラメータを常に可変パラメータにしたい場合は、関数を定義するときに仮パラメータの前に (&) を付けることができます:

function foo( &$bar ) {
$bar .= ' など追加です。
デフォルト関数の変数パラメーター (その仮パラメーターは変数パラメーターではありません)、関数を呼び出すときに実際のパラメーターに接頭辞 (&) を追加できます:

function foo( $bar ) {
$bar .= '; そして余分なもの。 '; $str = 'これは文字列です、 ';
foo( $str ); // 'これは文字列です、 '
foo( &$str ) ;
echo $str ; // 'これは文字列です。'


4. デフォルト値

関数は次のように C++ スタイルのデフォルト値を定義できます:

function makecoffee( $type = " cappucino" ) {
echo "Making a cup of $type.\n";
}
echo makecoffee();
echo makecoffee( "espresso" );


上記のコードの出力は次のとおりです。カプチーノのカップ
エスプレッソのカップを作る
デフォルトのパラメータを使用する場合、デフォルト値を持つすべてのパラメータをデフォルト値のないパラメータの後に定義する必要があることに注意してください。

5. クラス

クラスとは、変数と関数のコレクションです。クラスは次の構文を使用して定義されます:

->items[$artnr] > $num) {
$this->items[$artnr] -= $num;
}
;

上記は Cart というクラスを定義しています。このクラスには、カートに商品を追加および削除するための連想配列と 2 つの関数が含まれています。
クラスは実際の変数のプリミティブなモデルです。 new 演算子を使用して、必要な型の変数を作成します。

$cart = new Cart;
$cart->add_item("10", 1);


これにより、Cartクラス$cartのオブジェクトが作成されます。オブジェクトの関数 add_item() が呼び出され、10 番目の項目に 1 が追加されます。

他のクラスからの延長も可能です。拡張クラスまたは派生クラスには、基本クラスのすべての変数と関数、および拡張定義で定義した内容が含まれます。これは extends キーワードを使用して行われます。

class Named_Cart extends Cart {
var $owner;
function set_owner($name) {
$this->owner = $name;
}
}


ここでNamed_Cartというクラスが定義されており、それが継承されていますCart クラスのすべての変数と関数は、変数 $owner と関数 set_owner() で追加されます。 作成したnamed_cartクラスの変数でカートの所有者を設定できるようになりました。

$ncart = new Named_Cart; // 名前付きカートを作成します
$ncart->set_owner("kris") // カートに名前を付けます
print $ncart-; >owner; // カートの所有者名を出力します
$ncart->add_item("10", 1); // (カートから機能を継承)


関数内の変数 $this は現在のオブジェクトを意味します。現在のオブジェクトのすべての変数または関数にアクセスするには、$this->something フォームを使用する必要があります。
クラス内のコンストラクターとは、あるクラスの新しい変数を作成するときに自動的に呼び出される関数です。クラスと同じ名前のクラス内の関数がコンストラクターです。 U Class Auto_cart Extends Cart {
Function Auto_CART () {
$ This-& GT; add_item ("10", 1)
}}} ここでは Auto_cart クラスを定義し、項目 10 のコンストラクターを設定します。新しい操作時の変数の初期化用。コンストラクターはオプションのパラメーターを持つこともできるため、非常に便利です。

class Constructor_Cart {
function Constructor_Cart($item = "10", $num = 1) {
$this->add_item($item, $num)
}
}
// 同じような退屈なものを買う.
$default_cart = new Constructor_Cart;
// 実際に買い物してみます...
$ Different_cart = new Constructor_Cart("20", 17);



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

www.bkjia.com

tru​​e

http://www.bkjia.com/PHPjc/315731.html技術記事 1. IF ステートメント IF ステートメントは、ほとんどの言語で重要な機能です。条件に基づいてプログラム セグメントを実行します。 PHP の IF ステートメントは C: if (expr) ステートメントに似ています。式で説明したように、expr は...
声明:
この記事の内容はネチズンが自主的に寄稿したものであり、著作権は原著者に帰属します。このサイトは、それに相当する法的責任を負いません。盗作または侵害の疑いのあるコンテンツを見つけた場合は、admin@php.cn までご連絡ください。