在 PHP 中使用大括号构建代码

2024-03-14

是否可以将 PHP 中的代码片段括在括号内(不使用片段作为函数)?

以下代码的行为是否与没有大括号时的行为相同?或者根据括号内部或外部使用的代码类型可能会出现任何问题?

例如,这将是:

<?php

// First Code-Block
{# several lines of code
}

// Second Code-Block
{# another several lines of code
}

?>

始终以与此相同的方式行事:

<?php

// First Code-Block
# several lines of code

// Second Code-Block
# another several lines of code

?>

Update:正如“My1”的评论中所述,目标之一是构建大型代码部分。特别是因为大多数 IDE 都提供折叠括号之间的线的选项。

特别是考虑到“dragondreamer”的“Luke Mills”的答案,我稍微尝试了一下,到目前为止我没有遇到任何副作用。当然,这可能会随着未来新的 PHP 版本而改变,但“Luke Mills”的答案给出了需要关注的很好的指示。


是的,但它不会创建新的本地范围。这不是通常会做的事情。通常人们用注释来标记这样的块。

Update:

在手册中找到了它的参考资料,但这里是:

http://www.php.net/manual/en/control-structs.intro.php http://www.php.net/manual/en/control-structures.intro.php

任何 PHP 脚本都是由一系列语句构建的。语句可以是赋值、函数调用、循环、条件语句甚至不执行任何操作的语句(空语句)。语句通常以分号结尾。此外,可以通过用花括号封装一组语句来将语句分组为语句组。语句组本身也是一个语句。本章描述了各种语句类型。

这里的关键是通过用花括号封装一组语句,可以将语句分组为语句组.

我也找了找参考变量范围 http://php.net/manual/en/language.variables.scope.php因为它涉及到这种情况,但手册没有具体提到它,但是你可以这样想:

在 PHP 中,函数和类创建变量范围。你可以阅读相关内容here http://php.net/manual/en/language.variables.scope.php。但语句组(如上所述)则不然。不要将语句组的大括号视为包裹括号的函数(或类),而是将它们视为包裹控制结构的语句组的大括号(if, for, while, switch等)-因为这正是它们的本质。很明显,如果您使用的是if语句(或任何其他控制结构),大括号不会引入新的范围,它们只是语句块的包装器。

本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)

在 PHP 中使用大括号构建代码 的相关文章

随机推荐

  • strcat 分段错误

    第二次致电strcat这里产生了分段错误 为什么 include
  • Rails Active Storage 本地附件因神秘错误而失败:未初始化常量可分析

    红宝石 2 7 1 rails 6 0 3 2 我无法使本地活动存储附件正常工作 这是我的设置 我跑了 rails active storage install rake db migrate 模型架构 create table amazo
  • 在字符串和冒泡排序上使用 charAt() 方法[重复]

    这个问题在这里已经有答案了 我试图对字符串进行冒泡排序 但出现以下错误 MyClass java 13 error unexpected type str1 charAt i 1 str1 charAt i required variabl
  • 在 Jetpack Compose 中显示自定义警报对话框

    我正在搜索如何在 Jetpack Compose 中创建自定义对话框 在 XML 或 Material Design 中 我们可以轻松创建自定义对话框 在其中我们可以接受用户输入 单选按钮等 但我在 Jetpack Compose 中没有找
  • mobile safari 如何确定何时提示用户共享位置?

    我有一个移动网络应用程序 我想跟踪用户的最新位置 但前提是他们位于某个区域 但是 iPhone 上出现过多的提示有点麻烦 有一些位置初始化代码 大致如下 if firstTime navigator getCurrentPosition f
  • Spark DataFrame 中将 null 值转换为空数组

    我有一个 Spark 数据框 其中一列是整数数组 该列可以为空 因为它来自左外连接 我想将所有空值转换为空数组 这样以后就不必处理空值了 我想我可以这样做 val myCol df myCol df withColumn myCol whe
  • CSS 三角形填充进度条

    我实际上用谷歌搜索并搜索了一些信息 但找不到 My aim is to achieve something similar to progress bar styling such as filling inside of triangle
  • 有什么好的库可以读取和写入 csv 文件吗? [复制]

    这个问题在这里已经有答案了 可能的重复 Java 的 CSV API https stackoverflow com questions 101100 csv api for java 您能推荐一个用于读取 也可能写入 CSV 文件的 Ja
  • AJAX 请求返回 unicode 字符作为问号

    我有 AJAX 调用以下 PHP 脚本 然后我使用以下 JavaScript 调用该脚本 AJAX function url data callback var a new XM
  • 如何将矩阵划分为大小不等的子矩阵?

    我想知道是否可以使用mat2cell函数来划分MxN将矩阵分成 10 个具有相同列大小的子矩阵 N 并且行大小大致相同 M 10 If mod M 10 0那么所有子矩阵将具有相同的大小 否则一些矩阵将具有 1 行 这可以通过mat2cel
  • 调用 YouTube 应用程序打开 Youtube 频道 (Android)

    我想打开显示特定频道的 YouTube 应用程序 但这仅执行浏览器 try Intent intent new Intent Intent ACTION VIEW intent setData Uri parse http www yout
  • 如何在 Python 中使用多个字符串参数

    我想使用 s 将两个参数传递给我的字符串 我尝试了这个 但没有成功 title im s with s title programming python 它给出了这个错误 Traceback most recent call last Fi
  • 无法调用网络服务

    我目前正在尝试使用使用 Apache CXF 构建的客户端来调用 Web 服务 尽管该服务在浏览器中可用 但由于以下错误 我无法连接到它 关于这个问题有什么想法吗 org apache cxf phase PhaseInterceptorC
  • 使用 get_posts 显示 WordPress 帖子 - 第一篇帖子不显示日期

    您好 我正在使用 get posts 来获取所有标记为 新闻 的帖子并将其显示在给定页面上 我使用 the date 来获取日期 但奇怪的是第一篇文章没有显示日期 而此后的所有文章都显示日期 此外 我还使用了相同的代码在另一个页面上显示标记
  • 按钮边距的布局问题

    我在 Android 应用程序中组织布局时遇到问题 我正在动态创建按钮并使用此代码将它们添加到我的布局中 LayoutInflater layoutInflater LayoutInflater getBaseContext getSyst
  • 如何在 R 中 gsub 一个空的“”字符串?

    如何替换空字符串 This x c b gsub taco x 产生 taco tacobtaco 代替 taco b 有什么办法可以替换空字符串吗 我会用nchar here x nchar x 0 lt taco EDIT 如果您正在寻
  • 如何获取ServiceState的实例?

    我正在尝试获取一个实例ServiceState in my Activity 但我该怎么做呢 没有静态方法可以获取实例 也没有任何服务上的任何方法返回ServiceState实例 有的是TelephonyManager listen 称呼
  • 如何在 Laravel 模型上设置属性的默认值[重复]

    这个问题在这里已经有答案了 如何在 Laravel 模型上设置属性的默认值 我应该在创建迁移时设置默认值还是应该在模型类中设置它 您还可以在模型中设置默认属性 gt protected attributes status gt self S
  • 部署闪亮应用程序时出错

    我正在尝试将闪亮的应用程序部署到闪亮的服务器中 但出现此错误 Error HTTP 400 POST https api shinyapps io v1 applications Validation Error 在控制台写入后 shiny
  • 在 PHP 中使用大括号构建代码

    是否可以将 PHP 中的代码片段括在括号内 不使用片段作为函数 以下代码的行为是否与没有大括号时的行为相同 或者根据括号内部或外部使用的代码类型可能会出现任何问题 例如 这将是 始终以与此相同的方式行事 Update 正如 My1 的评论中