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 的相关文章

  • facebook php - 如何获取专辑封面照片

    我需要使用 PHP SDK Facebook 获取专辑封面照片 我尝试 https graph facebook com ALBUM ID picture type album 但我得到默认图像 例如 获取用户 https graph fa
  • Java ByteBuffer 性能问题

    在处理多个千兆字节文件时 我注意到一些奇怪的事情 似乎使用文件通道从文件读取到使用 allocateDirect 分配的重用 ByteBuffer 对象比从 MappedByteBuffer 读取要慢得多 事实上它甚至比读取到字节还要慢使用
  • Yii2 异常:ApcCache 需要加载 PHP apc 扩展

    在高级模板前端的主配置中配置缓存组件时 我收到异常 在我的 php ini 上启用了扩展 rsults 如何解决此问题 前端 config main php cache gt class gt yii caching ApcCache ke
  • PHP 开发相当于 Mongrel/Webrick 吗?

    PHP 开发中是否有与 Rails 开发期间使用 Mongrel Webrick 等效的方法 我通常在端口 3000 上使用 Mongrel 在开发过程中为我的 Rails 应用程序提供服务 我从事 PHP 开发已经有几年了 据我所知 方法
  • 有谁知道一种更快的方法来执行 String.Split() 吗?

    我正在读取 CSV 文件的每一行 并且需要获取每一列中的各个值 所以现在我只是使用 values line Split delimiter where line是保存由分隔符分隔的值的字符串 衡量我的表现ReadNextRow我注意到它花费
  • 如何使用 Facebook SDK API 为页面/网址“点赞”?

    我正在使用这段代码 facebook gt api me likes post array url gt http www google com 我收到以下错误 Fatal error Uncaught OAuthException 200
  • 在 Laravel 5 中截断表

    描述 我有一个充满测试数据的表 有时 我想清除它以获取新数据 我可以在 DBMS 应用程序中执行截断 例如MySQL 工作台 但我试图在我的应用程序中实现它 Goal 创建一个按钮 单击时截断数据库中的表 这是我的步骤 1 声明一条路线 R
  • 负载平衡集群中的 PHP 会话 - 如何?

    好的 我得到了这个完全罕见的负载平衡 PHP 网站的独特场景 令人遗憾的是 它过去没有进行负载平衡 现在我们开始遇到问题 目前唯一的问题是 PHP 会话 当然 一开始没有人想到这个问题 因此 PHP 会话配置保留为默认值 因此 两台服务器都
  • 使用 php 在多维数组中按键排序[重复]

    这个问题在这里已经有答案了 可能的重复 在 PHP 中对多维数组进行排序 https stackoverflow com questions 2059255 sorting multidimensional array in php 如何在
  • PHP Solr PECL 扩展安装

    我已经使用命令安装了 pecl solr pecl install solr 和梨使用 wget http pear php net go pear phar php go pear phar 重启Apache后 我仍然收到错误 Fatal
  • 比较运算符性能 <= 与 !=

    让我们首先声明代码可读性胜过微优化 我们应该将其留给编译器 这只是一个奇怪的案例 具体细节似乎与一般建议相比很有趣 因此 我在搞素数生成器函数 并提出了一种奇怪的行为 其中 人们建议效率最高 实际上效率最低 而 C private stat
  • 如何在 yii2 中使用两个不同的模型登录或切换身份类别?

    我想允许用户从两个不同的模型登录 配置文件 user gt identityClass gt app models User one more class here enableAutoLogin gt false authTimeout
  • fgetcsv 在特定行打开?

    有没有办法使用 fgetcsv 在特定行上打开 我有一个非常大的 csv 想通过 ajax 一次运行大约 100 行 我可以轻松停止 while 循环 但如何在特定行上打开 或者这是不可能的 从第 100 行开始读取没有简单的方法 但您可以
  • 强制 Composer 下载 git repo 而不是 zip

    我对作曲家有一些问题 require php gt 5 3 2 kriswallsmith buzz 0 7 Repo https github com kriswallsmith Buzz tree v0 7 https github c
  • PHP 数组通过 JSON 转为 jquery 数组

    我有点困惑为什么以下不起作用 get php
  • URL 中的 %2F 中断并且未引用所需的 .php 文件 [重复]

    这个问题在这里已经有答案了 我需要将 作为变量作为 URL 的一部分传递 我的结构如下所示 www domain com listings page 1 city Burnaby South type Townhome bedroom 2
  • Laravel leftJoin 仅右表的最后一条记录

    我是 Laravel 的新手 我有两张桌子 1 产品 2 价格 products id product int p key name varchar prices id price int p key id product int
  • 检查 $_POST 数据

    我正在对表单进行一些垃圾邮件检查 下面的代码在我的本地主机上正常工作 如果为 true 则重定向到 google com 但是 当它在生产服务器上时却不起作用 执行脚本的其余部分并且不重定向到 Google com if POST SERV
  • 为什么我的会话仍然存在?

    我一定很愚蠢 因为似乎一件相当明显的事情现在让我完全困惑 我有一个会议 ie SESSION handbag id 在某个时刻 我需要彻底终止这个会话 ie at the start of the page session start el
  • php 数组中出现意外的 json 输出结构

    我正在尝试转换动态数据 如何从 PHP 获取此 JSON JSON 122240cb 253c 4046 adcd ae81266709a6 item 0 3 这就是我所做的 但它不起作用 PHP json array 122240cb 2

随机推荐

  • 如何打乱键值对?

    我有一组值需要在需要时进行洗牌 我不知道哪种变量类型最适合我 数据实际上是基于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