zoukankan      html  css  js  c++  java
  • php 中 return exit break contiue 详解

    return、break和contiue是语言结构,就如同if语句之类的,但是exit却是个函数。

    1.exit函数
    作用:Output a message and terminate the current script
    输出一则消息并且终止当前脚本
    如果一段文本中包括多个以 <?php 开始,以 ?> 结束的脚本,exit退出所有脚本。
    比如一篇php文本包括一下代码,则不输出为world。
    <?php
    echo "hello";
    exit;
    ?>
    <?php
    echo "world";
    ?>
    语法格式:void表示没有返回值。
    void exit ([ string $status ] )
    void exit ( int $status )
    If status is a string, this function prints the status just before exiting.
    如果status是一段字符串,这个函数在脚本退出前打印status。
    If status is an integer, that value will also be used as the exit status. Exit statuses should be in the range 0 to 254, the exit status 255 is reserved by PHP and shall not be used. The status 0 is used to terminate the program successfully.
    如果status是一个整数,这个整数会被作为退出状态。退出状态应该从0到254,退出状态255被PHP保留并禁止使用。状态0被用来表示成功的终止 程序


    2.return语言结构的用法

    作用:终止函数的执行和从函数中返回一个值


    3.break和continue


    用在for,foreach,while,do..while 或者 switch 结构中。

    break 结束当前 for,foreach,while,do..while 或者 switch 结构的执行。

    break 可以接受一个可选的数字参数来决定跳出几重循环。

    代码:

    <?php
    $arr = array ('one', 'two', 'three', 'four', 'stop', 'five');
    while (list (, $val) = each ($arr)) {
    if ($val == 'stop') {
    break;
    }
    echo "$val<br> ";
    }


    $i = 0;
    while (++$i) {
    switch ($i) {
    case 5:
    echo "At 5<br> ";
    break 1;
    case 10:
    echo "At 10; quitting<br> ";
    break 2;
    default:
    break;
    }
    }
    ?>
    continue 在循环结构用用来跳过本次循环中剩余的代码并开始执行本循环结构的下一次循环。

    注: 注意在 PHP 中 switch 语句被认为是作为 continue 目的的循环结构。

    continue 接受一个可选的数字参数来决定跳过几重循环到循环结尾。

    代码:

    <?php
    while (list ($key, $value) = each ($arr)) {
    if (!($key % 2)) { // skip odd members
    continue;
    }
    do_something_odd ($value);
    }

    $i = 0;
    while ($i++ < 5) {
    echo "Outer<br> ";
    while (1) {
    echo " Middle<br> ";
    while (1) {
    echo " Inner<br> ";
    continue 3;
    }
    echo "This never gets output.<br> ";
    }
    echo "Neither does this.<br> ";
    }
    ?>
  • 相关阅读:
    分析现有 WPF / Windows Forms 程序能否顺利迁移到 .NET Core 3.0(使用 .NET Core 3.0 Desktop API Analyzer )
    .NET 命令行参数包含应用程序路径吗?
    WPF 多线程 UI:设计一个异步加载 UI 的容器
    .NET/C# 使用反射调用含 ref 或 out 参数的方法
    .NET/C# 判断某个类是否是泛型类型或泛型接口的子类型
    .NET/C# 使用反射注册事件
    都是用 DllImport?有没有考虑过自己写一个 extern 方法?
    好的框架需要好的 API 设计 —— API 设计的六个原则
    Netty源码学习(七)FastThreadLocal
    Netty源码学习(六)ChannelPipeline
  • 原文地址:https://www.cnblogs.com/james1207/p/3313098.html
Copyright © 2011-2022 走看看