目次
PHP での goto 構文の使用
ホームページ バックエンド開発 PHPチュートリアル PHP での goto 構文の使用法に関する簡単な説明

PHP での goto 構文の使用法に関する簡単な説明

Jun 18, 2021 pm 06:12 PM
php

この記事では、PHP で goto 構文を使用する方法を紹介します。一定の参考値があるので、困っている友達が参考になれば幸いです。

PHP での goto 構文の使用法に関する簡単な説明

PHP での goto 構文の使用


C、Java、および多くの言語には、魔法の構文があります。後藤です。名前が示すように、その用途は直接どこかに行くことです。コードの観点から見ると、これは指定された場所に直接ジャンプすることを意味します。 PHP にもこの関数があります。まず、その使用方法を見てみましょう:

goto a;
echo "1"; // 不会输出

a:
echo '2'; // 2
ログイン後にコピー

コードが goto 位置まで実行されると、a: があるコード行にジャンプします。そして実行を継続します。この関数は、複雑にネストされた if や一部のループから抜け出す場合、特に次のような特定の例外やエラー状況を処理する場合に非常に便利です。 goto 構文にもいくつかの制限があります。

    ターゲットの場所は、同じファイルおよびスコープ内にのみ配置できます。つまり、ある関数またはクラス メソッドから抜け出したり、別の関数やクラス メソッドにジャンプしたりすることはできません。関数
  • はループまたはスイッチ構造にジャンプできません
  • ループまたはスイッチから抜け出すには、通常の使用法は次のとおりです。複数のレイヤー Break の代わりに goto
  • #たとえば、次のコードは無効です:
  • for ($i = 0, $j = 50; $i < 100; $i++) {
        while ($j--) {
            if ($j == 17) { // 假设$j==17是一种异常情况
                goto end; // 直接跳走了,循环结束的结果也不输出了
            }
    
        }
    }
    echo "i = $i";
    end:
    echo &#39;j hit 17&#39;; // 直接到这里输出或者处理异常情况了
    ログイン後にコピー
定義された goto タグが見つからないため、これらはすべて同じエラーを報告します。スコープに。さらに、goto を使用すると、以下に示すように無限ループが発生する可能性があることに注意してください。

$a = 1;
goto switchgo;
switch ($a){
    case 1:
        echo &#39;bb&#39;;
    break;
    case 2:
        echo &#39;cc&#39;;
        switchgo:
            echo "bb";
    break;
}

goto whilego;
while($a < 10){
    $a++;
    whilego:
        echo $a;
}


// Fatal error: &#39;goto&#39; to undefined label &#39;ifgo&#39;
ログイン後にコピー

コードが goto まで実行されると、前の b ラベル行に戻り、実行が継続されます。下方向に進み、またgotoに到達する、という無限ループになりました。 while (true) のような気がします。ただし、この goto ループには中断がなく、goto で他の場所に移動することしかできません。

つまり、goto 構文を使用することは非常にまれです。コードの論理的な流れが中断されるためです。しかし、それを好む人は、goto 構文を使用するとコードが非常に柔軟になると感じるでしょう。これには慈悲と知恵の判断が必要ですが、現在、この構文の使用は、PHP を含むほとんどの言語のドキュメントで強く推奨されていません。プロジェクトのコードが複雑になると、他の人や自分自身を混乱させやすくなりますので、特別な状況でない場合や自分のスキルを誇示するための場合は、goto 構文を使用しないことをお勧めします。

b:
    echo &#39;b&#39;;

goto b;
ログイン後にコピー
推奨学習: 「

PHP ビデオ チュートリアル

以上がPHP での goto 構文の使用法に関する簡単な説明の詳細内容です。詳細については、PHP 中国語 Web サイトの他の関連記事を参照してください。

このウェブサイトの声明
この記事の内容はネチズンが自主的に寄稿したものであり、著作権は原著者に帰属します。このサイトは、それに相当する法的責任を負いません。盗作または侵害の疑いのあるコンテンツを見つけた場合は、admin@php.cn までご連絡ください。

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

ホットツール

メモ帳++7.3.1

メモ帳++7.3.1

使いやすく無料のコードエディター

SublimeText3 中国語版

SublimeText3 中国語版

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

ゼンドスタジオ 13.0.1

ゼンドスタジオ 13.0.1

強力な PHP 統合開発環境

ドリームウィーバー CS6

ドリームウィーバー CS6

ビジュアル Web 開発ツール

SublimeText3 Mac版

SublimeText3 Mac版

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

Ubuntu および Debian 用の PHP 8.4 インストールおよびアップグレード ガイド Ubuntu および Debian 用の PHP 8.4 インストールおよびアップグレード ガイド Dec 24, 2024 pm 04:42 PM

PHP 8.4 では、いくつかの新機能、セキュリティの改善、パフォーマンスの改善が行われ、かなりの量の機能の非推奨と削除が行われています。 このガイドでは、Ubuntu、Debian、またはその派生版に PHP 8.4 をインストールする方法、または PHP 8.4 にアップグレードする方法について説明します。

CakePHP データベースの操作 CakePHP データベースの操作 Sep 10, 2024 pm 05:25 PM

CakePHP でデータベースを操作するのは非常に簡単です。この章では、CRUD (作成、読み取り、更新、削除) 操作について理解します。

CakePHP の日付と時刻 CakePHP の日付と時刻 Sep 10, 2024 pm 05:27 PM

Cakephp4 で日付と時刻を操作するには、利用可能な FrozenTime クラスを利用します。

CakePHP ファイルのアップロード CakePHP ファイルのアップロード Sep 10, 2024 pm 05:27 PM

ファイルのアップロードを行うには、フォーム ヘルパーを使用します。ここではファイルアップロードの例を示します。

CakePHP ルーティング CakePHP ルーティング Sep 10, 2024 pm 05:25 PM

この章では、ルーティングに関連する次のトピックを学習します。

CakePHP について話し合う CakePHP について話し合う Sep 10, 2024 pm 05:28 PM

CakePHP は、PHP 用のオープンソース フレームワークです。これは、アプリケーションの開発、展開、保守をより簡単にすることを目的としています。 CakePHP は、強力かつ理解しやすい MVC のようなアーキテクチャに基づいています。モデル、ビュー、コントローラー

CakePHP バリデータの作成 CakePHP バリデータの作成 Sep 10, 2024 pm 05:26 PM

Validator は、コントローラーに次の 2 行を追加することで作成できます。

CakePHP のロギング CakePHP のロギング Sep 10, 2024 pm 05:26 PM

CakePHP へのログインは非常に簡単な作業です。使用する関数は 1 つだけです。 cronjob などのバックグラウンド プロセスのエラー、例外、ユーザー アクティビティ、ユーザーが実行したアクションをログに記録できます。 CakePHP でのデータのログ記録は簡単です。 log()関数が提供されています

See all articles