首页
学习
活动
专区
圈层
工具
发布
首页
学习
活动
专区
圈层
工具
社区首页 >问答首页 >PHP在Foreach循环中有“内置”迭代器吗?

PHP在Foreach循环中有“内置”迭代器吗?
EN

Stack Overflow用户
提问于 2012-08-13 14:36:01
回答 7查看 15K关注 0票数 14

我使用foreach循环遍历请求数组,因为我希望有一种简单的方法来利用请求数组的键和值。

但是,我还希望有一个循环运行次数的数字索引,因为我正在用PHPExcel编写电子表格,并且我想使用SetCellValue函数。我的想法是这样的:

代码语言:javascript
运行
AI代码解释
复制
foreach( $_REQUEST as $key => $value){
    $prettyKeys = ucwords(preg_replace($patt_underscore," ",preg_replace($patt_CC,"_",$key)));
    $prettyVals = ucwords(preg_replace($patt_underscore," ",preg_replace($patt_CC,"_",$value)));
    // Replace CamelCase with Underscores, then replace the underscores with spaces and then capitalize string
    // "example_badUsageOfWhatever" ==> "Example Bad Usage Of Whatever"


    $myExcelSheet->getActiveSheet()->SetCellValue( "A". $built-in-foreach-loop-numerical-index ,$prettyKeys);
    $myExcelSheet->getActiveSheet()->SetCellValue( "B". $built-in-foreach-loop-numerical-index ,$prettyVals);
}

我知道我可以很容易地实现像$c = 0 outsite the foreach这样的东西,然后在每次循环运行时递增它,但是有没有更干净的东西呢?

EN

回答 7

Stack Overflow用户

回答已采纳

发布于 2012-08-13 14:39:52

PHP的foreach没有内置这个功能(per the manual)。使用for loop来创建迭代器,或者自己实现它。

票数 7
EN

Stack Overflow用户

发布于 2012-08-13 14:39:11

for循环将为您提供一个自动计数器,但无法遍历您的$_REQUEST关联数组。foreach循环将允许您循环,但没有内置计数器。这是一种权衡,但至少它是一个非常容易管理的(只需要2行代码就可以构建计数器)!

票数 5
EN

Stack Overflow用户

发布于 2012-08-13 14:48:32

使用SPL Iterator Class。我相信这里面一定有你可以利用的东西。

票数 1
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/11936492

复制
相关文章
【Java】迭代器(Iterator)与增强for循环(forEach)
1. 迭代器(Iterator) 迭代器的作用 用来遍历集合 迭代器实现遍历 Iterator itr = 集合.iterator(); while(itr.hasNext()){ /** * next(): * ①指针下移1位,next指针初始状态没有指向任何元素,第一次调用next()方法时,指向第一位元素 * ②将下移后指针指向的元素返回 */ System.out.println(itr.next()); } 2. 增强for循环(forEach) 作用 用来遍历数组、集合 forE
CODER-V
2023/03/04
5460
迭代器和foreach原理。
迭代器是一种设计模式,它的定义为:提供一种方法访问一个容器对象中的各个元素,而又不需暴露该容器对象的内部细节。迭代器模式,就是为容器而生。
崔笑颜
2020/07/23
8430
php foreach跳出本次/当前循环与终止循环方法
发布者:全栈程序员栈长,转载请注明出处:https://javaforall.cn/112380.html原文链接:https://javaforall.cn
全栈程序员站长
2022/07/08
2.4K0
java退出foreach循环_forEach方法如何跳出循环[通俗易懂]
3.1 foreach()不能使用break和continue这两个关键字,foreach和普通的for循环是不同的,它不是普通的遍历,实现continue的效果可以直接使用return。
全栈程序员站长
2022/09/01
15.1K0
day022: forEach中return有效果吗?如何中断forEach循环?
022: forEach中return有效果吗?如何中断forEach循环? 在forEach中用return不会返回,函数会继续执行。 let nums = [1, 2, 3]; nums.forEach((item, index) => { return;//无效 }) 中断方法: 使用try监视代码块,在需要中断的地方抛出异常。 官方推荐方法(替换方法):用every和some替代forEach函数。every在碰到return false的时候,中止循环。some在碰到return ture的时
用户3806669
2021/03/11
2.5K0
python - 可迭代/迭代器对象、for循环原理
目录 可迭代对象与迭代器对象 for循环本质 可迭代对象与迭代器对象 迭代:迭代的意思就是更新换代,每次的更新都必须依赖上一次的结果 迭代其实给我们提供了一种不依赖索引取值的方式 可迭代对象: 内置有 _ _ iter _ _方法的都称为可迭代对象 有字符串、列表、元组、字典、集合、文件对象 迭代器对象: 内置有 _ _iter _ _ 方法,又含有 _ _next _ _方法称为迭代器对象 文件本身即是可迭代对象,也是迭代器对象 可迭代对象调用_ _it
HammerZe
2022/03/25
9400
PHP-迭代器
1.4 迭代器 1.4.1 遍历数组 手动遍历数组 步骤: 1、复位数组指针 reset() 2、检查指针是否合法 获取当前指针,如果不为null就是合法的 3、获取当前值 current(
cwl_java
2020/03/28
4060
增强For循环(foreach)
(1)只能顺序遍历所有元素,无法实现较为复杂的循环,如在某些条件下需要后退到之前遍历过的某个元素,不能完成
星哥玩云
2022/09/14
2.2K0
PHP用foreach循环读取json数据的方法
我们知道php结合mysql数据库可以做出很多功能性网站,如果不想用数据库只想想展示一些内容,那么可以用json或txt文件。
小唐同学.
2022/02/19
6.1K1
cssjshtml js 循环forEach
 js 循环forEach const names=new Array() resp.series.forEach(function (item,index) { names.push(item['name']) })
葫芦
2019/04/17
6.3K0
C# Foreach循环本质与枚举器
  对于C#里面的Foreach学过 语言的人都知道怎么用,但是其原理相信很多人和我一样都没有去深究。刚回顾泛型讲到枚举器让我联想到了Foreach的实现,所以进行一番探究,有什么不对或者错误的地方大家多多斧正。
SpringSun
2020/08/11
1K0
C# Foreach循环本质与枚举器
for和foreach循环语句
今天我们来讲解一下 for跟foreach 一、for 是一个循环语句 for break continue 从 i=0开始,到i=10结束,每次循环 for (i = 1; i <= 10; echo $i; } for (i = 10; i >0; echo $i; } //for可以嵌套 for (i = 1; i <= 10; for (j = 1; j <= 10; continue; echo i.j; } if($i==5) bre
老雷PHP全栈开发
2020/07/02
2.9K0
变相跳出forEach循环
众所周知,forEach循环是无法中途跳出循环的,有点同学说不是可以通过抛出错误跳出循环吗?是的。抛出异常是广为流传的一种方法,结果是我们想要,但是你看代码,哪个正常人会这样写代码?是非forEach不用吗?还是其他的循环关键字不配呢。
骤雨重山
2023/08/13
2030
变相跳出forEach循环
PHP内置服务器
PHP在安装的时候会内置了服务器的功能,我们在使用的过程中如果只是调试,可以选择启动PHP内置的服务器,下面是windows下PHP内置服务器的启动步骤:
全栈程序员站长
2022/07/07
1.4K0
MyBatis xml foreach循环语句
collection指定集合的上下文参数名称比如这里的@Param("list") item指定遍历的每一个数据的变量,一般叫it,可以使用it.userName来获取具体的值 index集合的索引值,从0开始 separator遍历每条记录并添加分隔符 除了批量插入,使用SQL in查询多个用户时也会使用:
FHAdmin
2021/09/14
2.3K0
forEach循环实现卡片列表
jsp页面 <%@ page language="java" contentType="text/html; charset=UTF-8" pageEncoding="UTF-8"%> <%@taglib prefix="c" uri="http://java.sun.com/jsp/jstl/core"%> <!DOCTYPE html> <html lang="en"> <head> <% String path = request.getRequestURI(); Strin
王小婷
2019/05/06
4.3K0
forEach循环实现卡片列表
python迭代器-迭代器取值-for循环-生成器-yield-生成器表达式-常用内置方法-面向过程编程-05
迭代: # 更新换代(其实也是重复)的过程,每一次的迭代都必须基于上一次的结果(上一次与这一次之间必须是有关系的)
suwanbin
2019/09/26
1.4K0
python迭代器-迭代器取值-for循环-生成器-yield-生成器表达式-常用内置方法-面向过程编程-05
Parallel.For循环 和 Parallel.ForEach循环
但是,有的时候又不是这样。如果迭代之间彼此独立,并且程序运行在多核处理器的机器上,如果能将不同的迭代放在不同的处理器上并行处理的话,将会受益匪浅。Parallel.For 和 Parallel.ForEach结构就是这样做的。
全栈程序员站长
2022/09/09
2.8K0
Parallel.For循环 和 Parallel.ForEach循环
Java 中for循环和foreach循环哪个更快?
在Java编程中,循环结构是程序员常用的控制流程,而for循环和foreach循环是其中比较常见的两种形式。关于它们哪一个更快的讨论一直存在。本文旨在探究Java中的for循环和foreach循环的性能差异,并帮助读者更好地选择适合自身需求的循环方式。通过详细比较它们的遍历效率、数据结构适用性和编译器优化等因素,我们将为大家揭示它们的差异和适用场景,以便您能够做出更明智的编程决策。
葡萄城控件
2023/10/16
6550
Java 中for循环和foreach循环哪个更快?
迭代循环:for语句
• 简单类型用来表示值:整数int、浮点数float、复数complex、逻辑值bool、字符串str
陆勤_数据人网
2020/08/27
8250

相似问题

Python中有内置迭代器吗?

114

Go中有foreach循环吗?

5240

在.Each标准库中有.Net ()(或.ForEach() )迭代器吗?

67

puppet中有迭代器和循环吗?

40

在PHP中向后迭代foreach循环

60
添加站长 进交流群

领取专属 10元无门槛券

AI混元助手 在线答疑

扫码加入开发者社群
关注 腾讯云开发者公众号

洞察 腾讯核心技术

剖析业界实践案例

扫码关注腾讯云开发者公众号
领券
社区富文本编辑器全新改版!诚邀体验~
全新交互,全新视觉,新增快捷键、悬浮工具栏、高亮块等功能并同时优化现有功能,全面提升创作效率和体验
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档
查看详情【社区公告】 技术创作特训营有奖征文