検索
ホームページバックエンド開発PHPチュートリアルPHP の基礎: 制御構造_PHP チュートリアル

PHP の基礎: 制御構造_PHP チュートリアル

Jul 21, 2016 pm 03:59 PM
javaphp主流そして基本知識コントロール構造言語

PHP の制御構造のほとんどは、C や Java などの他の主流言語の制御構造と同じです。

ここでは、よく考慮されるいくつかの異なる詳細を示します:

1> フロー制御の代替構文 (パスカル スタイル)
主に if、while、for、foreach、switch ステートメントで使用されます。代替構文の基本的な形式は、左中括弧 ({) をコロン (:) に置き換え、右中括弧 (}) をそれぞれ endif;、endwhile;、endfor;、endforeach; に置き換えます。
例 (1):
if ($a == 5):
/*dosomething1*/
/*dosomething1*/
endif;
は以下と同等です:
if ($a == 5){
/*dosomething1 */
/*dosomething1*/
}
例 (2):
if ($a == 5):
echo "a == 5";
echo "..."; ):
echo "a = 6";
echo "!!!";
else:
endif;

2>for ステートメント (頻繁にテストして徹底的に理解してください)必要)
形式: ({} 形式の代わりに `:`...`endfor;` をサポート)
for (expr1; expr2; expr3)
ステートメント
実行プロセス:
最初の式 (expr1) はループ内にあります。開始する前に一度無条件で評価してください。
expr2 は各ループの前に評価されます。値が TRUE の場合、ループが続行され、ネストされたループ ステートメントが実行されます。値が FALSE の場合、ループは終了します。
expr3 は各ループの後に評価 (実行) されます。
同等の while ステートメントは次のとおりです:
expr1;
while(expr2):
endwhile;

3>
break の機能は、現在の for、foreach、while、do-while、または switch 構造の実行を終了することです。
同時に、break の後に数値を指定して、何レベルのループから抜け出すかを決定することができます。ブレーク 1 は、第 1 レベルのループから抜け出すことです。
C 言語に関する体系的な本を持っていないので、C にあるかどうかはわかりません。

4>foreach
形式:
a.foreach (array_expression as $value)
ステートメント
b.foreach (array_expression as $key => $value)
ステートメント
説明:
a 形式は、指定された array_expression 配列を走査します。ループを通過するたびに、現在のセルの値が $value に割り当てられ、配列内のポインターが 1 ステップ前に移動します (そのため、次のループで次のセルが取得されます)。
b 形式も同じことを行いますが、現在のユニットのキー名が各ループの変数 $key にも割り当てられる点が異なります。

注:
a. foreach の実行が開始されると、配列内のポインターは自動的に最初のユニットを指します。これは、foreach ループの前にreset()を呼び出す必要がないことを意味します。 /*reset(array &array): 配列の内部ポインタを配列 array の最初の要素に移動し、値を返します*/
b. 配列が参照されない限り、foreach は配列ではなく、指定された配列のコピーを操作します。自体。したがって、配列ポインタは each() 構造によって変更されず、返された配列単位を変更しても元の配列には影響しません。ただし、元の配列の内部ポインタは、配列の処理中に前方に移動します。 foreach ループが最後まで実行されると仮定すると、元の配列の内部ポインターは配列の末尾を指すことになります。
PHP 5 以降では、$value の前に & を追加することで配列のセルを簡単に変更できます。このメソッドは、値をコピーするのではなく、参照によって割り当てます。
例:
$arr = array(1, 2, 3, 4);
foreach ($arr as &$value) {
$value = $value * 2;
}
// $arr は array(2) になります、4、6、8)
c.foreach は、「@」を使用してエラー メッセージを抑制する機能をサポートしていません。

foreach の使用例:
$arr = array("one", "two", "three");
while (list(, $value) = each($arr); echo "Value: $value
n";
}
foreach ($arr as $value) {
echo "Value: $value
n";

5>差異を続けるほとんど使用されません)
機能: 条件が true と評価されたときに、このループ内の残りのコードをスキップし、次のループの実行を開始するためにループ構造で使用されます。
break と同様に、ループ コードの最後にジャンプするレベルの数を決定する数値も受け入れます。
注: continue; は continue 1; と同じで、どちらもこのレベルのこのループの最後にジャンプします。 continue 2 は、このループから外層の終わりまでジャンプします。

6>switch の continue の機能:break と似ています (他の言語とは異なります)。

7>declare
構造体は、コードの実行命令を設定するために使用されます。declare の構文は、他のフロー制御構造と似ています。
declare (ディレクティブ)
ステートメント
ディレクティブ部分では、declare コード セグメントの動作を設定できます。現在、認識されるコマンドは 1 つだけです:ticks (詳細については、以下の Ticks コマンドを参照してください)。
宣言コードセグメント内のステートメント部分が実行されます。どのように実行されるか、実行中にどのような副作用が発生するかは、ディレクティブに設定された命令によって異なります。
declare 構造はグローバル スコープでも使用でき、その後のすべてのコードに影響します。

主な例はトリック用です (現在はトリックのみ):
例:
function profile($dump = FALSE)
{
static $profile;
// profile に保存されている時間を返し、それを消去します
if ( $ dump) {
$ temp = $ Profile;
Return ($ TEMP);
$ Profile [] = Microtime ();
// 初期化。
profile();
// 2 (ticks=2) の単純なステートメントが実行されると、関数 profile() が 1 回呼び出されます。 ; $ x & lt; ++ $ x) {
echo like_text (md5 ($ x), md5 ($ x*$ x)), "& lt; br/>;"; area
print_r(profile (TRUE));

注:
register_tick_function() は ZTS モードでは動作しないため、マルチサーバーでは使用できません。 -処理モジュール (??理解できません??マルチ処理モジュールとは何ですか?)、そうでないとクラッシュします。何度も衝突してしまいました。押し下げられた。

8>require と include の違い
:
include() は警告を生成しますが、require() は致命的なエラーを引き起こします。つまり、ファイルが見つからない場合にページの処理を停止したい場合は、require() を使用します。 include() の場合はそうではなく、スクリプトは引き続き実行されます。また、適切な include_path が設定されていることを確認してください。 PHP 4.3.5 より前では、インクルード ファイル内の構文エラーによってプログラムが停止することはありませんでしたが、このバージョンからは停止することに注意してください。

類似点と使用法:
a. 変数スコープ: ファイルがインクルードされると、そのファイルに含まれるコードは、「include ステートメント」が配置されている行の変数スコープを継承します。その時点から、呼び出し側ファイルのその行で使用可能な変数は、呼び出されたファイルでも使用できるようになります。ただし、インクルード ファイルで定義されたすべての関数とクラスはグローバル スコープを持ちます。
「include ステートメント」が呼び出し元ファイルの関数内にある場合、呼び出されるファイルに含まれるすべてのコードは、関数内で定義されているかのように動作します。したがって、その関数の変数スコープに従います。

b. 解析モード
ファイルがインクルードされると、構文パーサーはターゲット ファイルの先頭で PHP モードを終了し、HTML モードに入り、ファイルの末尾で再開します。このため、PHP コードとして実行されるオブジェクト ファイル内のコードは、有効な PHP 開始タグと終了タグ内に含める必要があります。

c. 条件ステートメントの形式の問題
include() と require() は特殊な言語構造であるため、条件ステートメントで使用する場合はステートメント グループ (中括弧内) に配置する必要があります。
include() は特殊な言語構造であるため、そのパラメータには括弧は必要ありません。戻り値を比較するときは注意してください。

d. 戻り値の処理
インクルードされたファイル内で return() ステートメントを使用すると、ファイル内のプログラムの実行を終了し、それを呼び出したスクリプトに戻ることができます。インクルードされたファイルから値を返すことも可能です。 include呼び出しの戻り値は通常の関数と同様に取得できます。これは、リモート ファイルの出力に有効な PHP 開始タグと終了タグ (他のローカル ファイルと同様) がない限り、リモート ファイルをインクルードする場合には機能しません。タグ内で必要な変数を定義できます。これは、ファイルがインクルードされる場所の後で使用できるようになります。
例:
return.php
=============
$var = 'PHP'
return $var;

noreturn.php
========= = =====
$var = 'PHP'

testreturns.php
============================;
$ foo = include 'return.php';
echo $foo; // 'PHP' を出力します
$bar = include 'noreturn.php'; // 1 つの関数と変数の再定義を出力します。質問:
この現象を防ぐには、 include_once または require_once

f を使用できます。 その他:
PHP 4.0.2 より前では、次のルールが適用されます: require() は、対象ファイルが存在する行であっても常に読み取りを試みます。全く存在しない場合は実行されません。条件文は require() には影響しません。ただし、require() が配置されている行が実行されない場合、ターゲット ファイル内のコードは実行されません。同様に、ループ構造は require() の動作に影響を与えません。ターゲット ファイルに含まれるコードは依然としてループの本体ですが、require() 自体は 1 回だけ実行されます



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

www.bkjia.comtru​​ehttp://www.bkjia.com/PHPjc/317419.html技術記事 PHP の制御構造のほとんどは、C や Java などの他の主流言語の制御構造と同じです。 以下に、異なる、よく考慮される詳細をいくつか示します。 1 フロー制御の代替構文 (パスカル スタイル) Main...
声明
この記事の内容はネチズンが自主的に寄稿したものであり、著作権は原著者に帰属します。このサイトは、それに相当する法的責任を負いません。盗作または侵害の疑いのあるコンテンツを見つけた場合は、admin@php.cn までご連絡ください。
PHPの継続的な使用:その持久力の理由PHPの継続的な使用:その持久力の理由Apr 19, 2025 am 12:23 AM

まだ人気があるのは、使いやすさ、柔軟性、強力なエコシステムです。 1)使いやすさとシンプルな構文により、初心者にとって最初の選択肢になります。 2)Web開発、HTTP要求とデータベースとの優れた相互作用と密接に統合されています。 3)巨大なエコシステムは、豊富なツールとライブラリを提供します。 4)アクティブなコミュニティとオープンソースの性質は、それらを新しいニーズとテクノロジーの傾向に適応させます。

PHPおよびPython:類似点と相違点を調査しますPHPおよびPython:類似点と相違点を調査しますApr 19, 2025 am 12:21 AM

PHPとPythonはどちらも、Web開発、データ処理、自動化タスクで広く使用されている高レベルのプログラミング言語です。 1.PHPは、ダイナミックウェブサイトとコンテンツ管理システムの構築によく使用されますが、PythonはWebフレームワークとデータサイエンスの構築に使用されることがよくあります。 2.PHPはエコーを使用してコンテンツを出力し、Pythonは印刷を使用します。 3.両方ともオブジェクト指向プログラミングをサポートしますが、構文とキーワードは異なります。 4。PHPは弱いタイプの変換をサポートしますが、Pythonはより厳しくなります。 5. PHPパフォーマンスの最適化には、Opcacheおよび非同期プログラミングの使用が含まれますが、PythonはCprofileおよび非同期プログラミングを使用します。

PHPおよびPython:さまざまなパラダイムが説明されていますPHPおよびPython:さまざまなパラダイムが説明されていますApr 18, 2025 am 12:26 AM

PHPは主に手順プログラミングですが、オブジェクト指向プログラミング(OOP)もサポートしています。 Pythonは、OOP、機能、手続き上のプログラミングなど、さまざまなパラダイムをサポートしています。 PHPはWeb開発に適しており、Pythonはデータ分析や機械学習などのさまざまなアプリケーションに適しています。

PHPとPython:彼らの歴史を深く掘り下げますPHPとPython:彼らの歴史を深く掘り下げますApr 18, 2025 am 12:25 AM

PHPは1994年に発信され、Rasmuslerdorfによって開発されました。もともとはウェブサイトの訪問者を追跡するために使用され、サーバー側のスクリプト言語に徐々に進化し、Web開発で広く使用されていました。 Pythonは、1980年代後半にGuidovan Rossumによって開発され、1991年に最初にリリースされました。コードの読みやすさとシンプルさを強調し、科学的コンピューティング、データ分析、その他の分野に適しています。

PHPとPythonの選択:ガイドPHPとPythonの選択:ガイドApr 18, 2025 am 12:24 AM

PHPはWeb開発と迅速なプロトタイピングに適しており、Pythonはデータサイエンスと機械学習に適しています。 1.PHPは、単純な構文と迅速な開発に適した動的なWeb開発に使用されます。 2。Pythonには簡潔な構文があり、複数のフィールドに適しており、強力なライブラリエコシステムがあります。

PHPとフレームワーク:言語の近代化PHPとフレームワーク:言語の近代化Apr 18, 2025 am 12:14 AM

PHPは、多数のWebサイトとアプリケーションをサポートし、フレームワークを通じて開発ニーズに適応するため、近代化プロセスで依然として重要です。 1.PHP7はパフォーマンスを向上させ、新機能を紹介します。 2。Laravel、Symfony、Codeigniterなどの最新のフレームワークは、開発を簡素化し、コードの品質を向上させます。 3.パフォーマンスの最適化とベストプラクティスは、アプリケーションの効率をさらに改善します。

PHPの影響:Web開発などPHPの影響:Web開発などApr 18, 2025 am 12:10 AM

phphassiblasifly-impactedwebdevevermentandsbeyondit.1)itpowersmajorplatformslikewordpratsandexcelsindatabase interactions.2)php'sadaptableability allowsitale forlargeapplicationsusingframeworkslikelavel.3)

スカラータイプ、リターンタイプ、ユニオンタイプ、ヌル可能なタイプなど、PHPタイプのヒントはどのように機能しますか?スカラータイプ、リターンタイプ、ユニオンタイプ、ヌル可能なタイプなど、PHPタイプのヒントはどのように機能しますか?Apr 17, 2025 am 12:25 AM

PHPタイプは、コードの品質と読みやすさを向上させるためのプロンプトがあります。 1)スカラータイプのヒント:php7.0であるため、基本データ型は、int、floatなどの関数パラメーターで指定できます。 3)ユニオンタイプのプロンプト:PHP8.0であるため、関数パラメーターまたは戻り値で複数のタイプを指定することができます。 4)Nullable Typeプロンプト:null値を含めることができ、null値を返す可能性のある機能を処理できます。

See all articles

ホット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ヘンタイを無料で生成します。

ホットツール

MantisBT

MantisBT

Mantis は、製品の欠陥追跡を支援するために設計された、導入が簡単な Web ベースの欠陥追跡ツールです。 PHP、MySQL、Web サーバーが必要です。デモおよびホスティング サービスをチェックしてください。

SublimeText3 Linux 新バージョン

SublimeText3 Linux 新バージョン

SublimeText3 Linux 最新バージョン

SublimeText3 中国語版

SublimeText3 中国語版

中国語版、とても使いやすい

AtomエディタMac版ダウンロード

AtomエディタMac版ダウンロード

最も人気のあるオープンソースエディター

SublimeText3 Mac版

SublimeText3 Mac版

神レベルのコード編集ソフト(SublimeText3)