for 循环 vs while 循环 vs foreach 循环 PHP

2024-01-26

首先我是 PHP 新手。我一直在脚本中使用 for 循环、while 循环、foreach 循环。我想知道

  • 哪一个性能更好?
  • 选择循环的标准是什么?
  • 当我们在另一个循环中循环时应该使用哪个?

我一直想知道要使用哪个循环的代码。

for($i=0;$i<count($all);$i++)
{
 //do some tasks here
 for($j=0;$j<count($rows);$j++)
 {
  //do some other tasks here 
 }
}

很明显,我可以使用 while 编写上面的代码。希望有人能帮助我找出应该更好地使用哪个循环。


哪一个性能更好?

没关系。

选择循环的标准是什么?

如果您只需要遍历对象或数组的所有元素,请使用foreach。您的情况need for include

  • 当您明确需要使用数字索引执行操作时,例如:
  • 当您需要在迭代中使用上一个或下一个元素时
  • 当您需要在迭代期间更改计数器时

foreach更方便,因为它不需要您设置计数,并且可以通过任何类型的成员工作 - 无论是对象属性还是关联数组元素(其中一个for不会抓住)。通常这对于可读性来说是最好的。

当我们在另一个循环中循环时应该使用哪个?

两者都很好;在您的演示案例中,foreach是最简单的方法。

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

for 循环 vs while 循环 vs foreach 循环 PHP 的相关文章

  • PHP 是否有一个函数可以在给定有效内容类型的情况下返回正确的文件扩展名?

    PHP 是否有一个函数可以返回给定内容类型的文件扩展名 我正在寻找类似以下功能的东西
  • 表单提交到白页?

    所以我有一个用于我的注册系统的表格 当表单提交并出现错误时 例如 首先输入用户名 或 您必须提供密码 它会成功刷新页面并显示这些错误 但是 当表单提交并且用户填写了所有数据并且没有错误时 表单将转到白色页面 我查看了源代码 所有显示的都是页
  • PHP SimpleXML,如何设置属性?

    如果你有类似的东西
  • PHP Laravel 路由问题

    我的设置目前看起来像这样 应用程序 控制器 register php class register Controller extends Base Controller public restful true public function
  • imagecreatefrompng(和 imagecreatefromstring)导致不可恢复的致命错误

    当我尝试在不正确的 png 图像上使用 php gd 函数时 出现致命的 PHP 错误 这似乎是某种错误 因为根据函数文档 imagecreatefrompng 例如 return resource an image resource id
  • 如何在加载ajax内容和javascript时加载gif图像[重复]

    这个问题在这里已经有答案了 我一直在尝试加载 gif 图像 直到 ajax 加载数据并显示它 但我对此感到安慰 我希望你能帮助我 这是我的高级搜索代码 现在我想为此添加加载 gif ajax type POST url base rul s
  • php脚本阻止直接访问

    我正在使用 ajax 从 php 脚本 例如 cost php 获取值 并且我知道直接访问它并获取该值会很容易 我什至在同一个脚本 cost php 上运行 cron 作业 所以如果我使用以下命令 cron 作业将无法工作 if empty
  • 使用 PHP 显示 Mysql 中的图像

    这就是我的数据库中的表的样子 我正在尝试显示我存储的图像 它是 mimetype longblob 当我运行代码时 它会给我一个带有 的小框 没有错误 只是那个框 有谁知道错误是什么以及如何修复它 Display Index Display
  • 如何使用 Shopify API 将商品添加到购物车

    我正在使用 Shopify API 开发自定义网络应用程序 这里的想法是使用应用程序作为独家店面 只需向 Shopify API 发出请求 我已在我的 Shopify 帐户中设置了一个私人应用程序来执行此操作 我从 api 提取产品没有问题
  • 更改 Symfony2 中的默认语言环境

    我正在尝试更改应用程序的默认区域设置 到目前为止我尝试过的事情 将 intl default locale 设置为 et EE 将区域设置设置为 et app config parameters ini 更改了我的捆绑包 boot 方法中描
  • 判断是否存在多对多记录组合

    这似乎是一个常见的任务 有一个简单的解决方案 但我在 StackOverflow 和 Google 上都空手而归 场景是这样的 我有两个共享多对多关系的表 A 和 B 因此 我有一个带有外键的表 A B 它映射 A 到 B 记录关系 标准的
  • Laravel 中 Twitter Bootstrap 导航的自动活动类

    和大多数人一样 我正在使用 Twitter Bootstrap 来构建我目前在 Laravel 中开发的网站 到目前为止 我很喜欢使用 Laravel 作为与 Rails 相当的 PHP 但我想知道是否有更好的方法来制作导航栏 我试图确保我
  • 获取特定 $_POST 数组的值

    name qty foreach POST as items gt value check qty gt 1 echo key gt value br 如何仅显示其值为 qty1 gt value qty2 gt value gt 0 的项
  • Symfony2 Beta3 中不断收到“您请求了一个不存在的服务“test.client””

    我正在尝试设置单元测试 但每当我运行 phpunit c app 时 我都会收到此错误 Symfony Component DependencyInjection Exception ServiceNotFoundException 您请求
  • 如何从页面获取所有网址(php)

    我有一个页面 其中的网址和描述逐一列出 例如书签 网站列表 如何使用php从该页面获取所有url并将它们写入txt文件 每行一个 只有url而没有描述 页面如下所示 一些描述 http link com 其他说明 http link2 co
  • 由商店经理根据指定的分类术语过滤 WooCommerce 订单

    我想将带有特定产品标签的订单分配给后端的特定商店经理 并隐藏其余订单 我目前正在使用WooCommerce 订单拆分器 https wordpress org plugins woo order splitter免费插件可按项目 产品 将订
  • numpy 数组最快的保存和加载选项

    我有一个生成二维的脚本numpy数组与dtype float和形状的顺序 1e3 1e6 现在我正在使用np save and np load对数组执行 IO 操作 然而 这些函数对于每个数组都需要几秒钟的时间 是否有更快的方法来保存和加载
  • PHP Imagick - setTextEncoding() 函数不起作用

    我正在尝试在 Imagick 对象上添加一些文本 但是我使用 setTextEncoding 函数 它仍然不起作用 draw new ImagickDraw draw gt setTextEncoding utf 8 draw gt set
  • Laravel 中的 SQL 运算符是什么?

    我正在查看 Laravel 的源代码 发现了很多 Eloquent 的 SQL 运算符 我想知道其中一些是什么以及如何使用它们 不幸的是我没有找到任何文档 这是我找到的运营商vendor laravel framework src Illu
  • PHP runkit_function_rename 不起作用?

    这段代码不起作用 为什么不 我真正想要的是这个 我正在使用一个具有功能的系统 当我在本地主机上时 我希望该函数做一些不同的事情 我想用自己的东西覆盖该函数 也欢迎所有替代方案 您是否安装了 PECL 扩展 http www php net

随机推荐

  • 如何打乱键值对?

    我有一组值需要在需要时进行洗牌 我不知道哪种变量类型最适合我 数据实际上是基于key value结构的 比如 100 white 200 black 300 red 就这样 我想做的是根据我还不知道的某种算法来更改键值对 但是它们需要像这样
  • 正则表达式,将多个斜杠替换为一个

    这似乎是一个很容易解决的问题 但它并不像看起来那么容易 我在 PHP 中有这个字符串 postname 这是一个 URL 我不想连续出现多个斜杠 我从来不想完全删除斜线 它应该是这样的 postname 因为结构可能看起来不同 所以我认为我
  • Django ORM 在 Postgres DB 上留下空闲连接

    最近 我的 Django 应用程序由于数据库连接错误而频繁崩溃 OperationalError FATAL sorry too many clients already 当我进入应用程序数据库时 我看到确实有近 100 个打开的连接 所有
  • Powershell 在第一个特殊字符出现后删除文本

    这是我必须解析的值 8 2 4 151 65 HBAAPI I v1 3 3 29 02 我需要删除第一个实例之后的所有内容 包括第一个实例 所以我需要我的最终结果是8 2 4 151 65 s 8 2 4 151 65 HBAAPI I
  • 事件源 -> 服务器批量返回事件流而不是块返回

    我有一个 php 脚本 可以通过验证从 csv 文件导入大数据 为此 我需要向用户展示进度 我为此使用了事件流 当我回显某些内容时 我希望将其一一传输到客户端 而不是服务器批量发送整个输出 我已经尝试过 ob start ob implic
  • 底部图例,两行包裹在 r 中的 ggplot2 中

    library ggplot2 library scales library reshape2 Rdates lt c 2007 01 31 2007 02 28 2007 03 30 2007 04 30 2007 05 31 2007
  • 在 C# 中显示/隐藏主窗体

    我正在开发一个程序 单击 form1 上的按钮将打开 form2 然后我将隐藏 form1 直到 form2 关闭 我遇到的问题是 form2 关闭后无法显示 form1 有想法该怎么解决这个吗 try Form1 ActiveForm H
  • 如何解决 SQLite 数据库的错误路径?

    Overview 我添加了一些代码来将现有数据库复制到设备的本地文件夹 到目前为止第一个条件如果现有数据库尚不存在工作正常 Issue 但是 当执行将现有数据库从解决方案文件夹复制到设备文件夹的代码行时 我收到 SQLite 错误 该错误告
  • 如何使用 ASP Classic 获取当前虚拟目录的名称?

    如何使用 ASP Classic 获取当前虚拟目录的名称 在 ASP NET 中你可以使用Request ApplicationPath找到这个 例如 假设您有一个如下 URL http localhost virtual director
  • Google Tv 模拟器 AVD 系统映像

    您好 我正在尝试在我的 Windows 机器中设置 google tv 模拟器 我能够安装 api level 13 中提供的 google tv add on 但是当我尝试创建 AVD 时 它会抛出错误消息 请安装 intel x86 但
  • PostgreSQL 中表达式索引的实际限制

    我需要使用 HSTORE 类型和键索引来存储数据 CREATE INDEX ix product size ON product data gt Size INT CREATE INDEX ix product color ON produ
  • Python套接字不发送不接收

    我从 python 文档中复制了 echo 服务器示例 它工作正常 但是当我编辑代码时 它不会将数据发送回客户端 第二次调用 socket recv 方法时不会返回 import socket HOST PORT 50007 s socke
  • 如何建模“特色”的概念(即当一位艺术家在歌曲中“特色”时)

    有时 一首歌会有不止一位艺术家参与 例如 Jay z 的新歌 A Star is Born 以艺术家 Cole 为主角 因此在目录中将被列为 Jay z featuring Cole A Star is Born 我的问题是如何在我的数据库
  • cron 是用 php 编写基于提醒的应用程序的最佳方式吗?

    假设我有一个这样的数据库 task time Remind me to water plants 2018 02 18T19 32 10 486Z English Test 2018 10 8T09 30 00 000Z Math Test
  • 如何为网站启用 Chromecast?

    This article https support google com chromecast answer 3265953 hl en CA解释了 支持 Chromecast 的网站 的好处 更高的质量 支持 Chromecast 的网
  • SvelteKit:CSS 中引用的静态资源的开发/构建和路径问题

    在 Svelte 文件的 CSS 部分中 假设我使用背景图像 div background image url img bg jpg 图像文件位于static文件夹 static img bg jpg 这个简单的示例在开发模式下完美运行 如
  • Winforms 双缓冲

    我将其添加到表单的构造函数代码中 this SetStyle ControlStyles AllPaintingInWmPaint ControlStyles UserPaint ControlStyles DoubleBuffer tru
  • 将非接口称为“*er”是惯用的吗

    The 有效行动 http golang org doc effective go html interface names states 按照惯例 单方法接口由方法名称加上 er 后缀或类似修饰来构造代理名词 Reader Writer
  • 连接 PhoneGap 与 localhost Web 服务

    我在连接我的 webserwisem PhoneGap Django TastyPie 时遇到问题 我的 PhoneGap 版本 3 3 0 使用纯 html 调用 POST 或 GET 一切正常当我将项目移动到模拟器时问题就开始了 传输无
  • for 循环 vs while 循环 vs foreach 循环 PHP

    首先我是 PHP 新手 我一直在脚本中使用 for 循环 while 循环 foreach 循环 我想知道 哪一个性能更好 选择循环的标准是什么 当我们在另一个循环中循环时应该使用哪个 我一直想知道要使用哪个循环的代码 for i 0 i