标签: foreach

Bash foreach循环

我有一个输入(让我们说一个文件).每行都有一个文件名.如何阅读此文件并显示每个文件的内容.

bash foreach

151
推荐指数
5
解决办法
30万
查看次数

foreach with index

是否有C#相当于Python enumerate()和Ruby each_with_index

c# foreach

150
推荐指数
6
解决办法
18万
查看次数

可以为java中的每个循环以相反的顺序执行a操作吗?

我需要使用Java以相反的顺序运行List.

所以这是前进的地方:

for(String string: stringList){
//...do something
}
Run Code Online (Sandbox Code Playgroud)

有没有办法使用for each语法以相反的顺序迭代stringList ?

为了清楚起见:我知道如何以相反的顺序迭代列表但是想知道(出于好奇心)如何在每个样式中执行它.

java foreach reverse

143
推荐指数
5
解决办法
11万
查看次数

在java中增强for循环的最后一次迭代

有没有办法确定循环是否最后一次迭代.我的代码看起来像这样:

int[] array = {1, 2, 3...};
StringBuilder builder = new StringBuilder();

for(int i : array)
{
    builder.append("" + i);
    if(!lastiteration)
        builder.append(",");
}
Run Code Online (Sandbox Code Playgroud)

现在问题是我不想在最后一次迭代中附加逗号.现在有一种方法可以确定它是最后一次迭代还是我坚持使用for循环或使用外部计数器来跟踪.

java foreach for-loop conditional-execution

134
推荐指数
9
解决办法
7万
查看次数

如何从foreach循环中的数组中删除对象?

我遍历一个对象数组,并希望根据它的'id'属性删除其中一个对象,但我的代码不起作用.

foreach($array as $element) {
    foreach($element as $key => $value) {
        if($key == 'id' && $value == 'searched_value'){
            //delete this particular object from the $array
            unset($element);//this doesn't work
            unset($array,$element);//neither does this
        } 
    }
}
Run Code Online (Sandbox Code Playgroud)

有什么建议.谢谢.

php arrays foreach unset

133
推荐指数
2
解决办法
13万
查看次数

foreach的性能,带有lambda的array_map和带有静态函数的array_map

这三种方法之间的性能差异(如果有的话)是什么,都用于将数组转换为另一个数组?

  1. 运用 foreach
  2. 使用array_maplambda/closure函数
  3. 使用array_map'静态'功能/方法
  4. 还有其他方法吗?

为了使自己清楚,让我们看看这些例子,都做同样的事情 - 将数字数组乘以10:

$numbers = range(0, 1000);
Run Code Online (Sandbox Code Playgroud)

的foreach

$result = array();
foreach ($numbers as $number) {
    $result[] = $number * 10;
}
return $result;
Run Code Online (Sandbox Code Playgroud)

用lambda映射

return array_map(function($number) {
    return $number * 10;
}, $numbers);
Run Code Online (Sandbox Code Playgroud)

使用'static'函数映射,作为字符串引用传递

function tenTimes($number) {
    return $number * 10;
}
return array_map('tenTimes', $numbers);
Run Code Online (Sandbox Code Playgroud)

还有其他方法吗?我将很高兴听到上述案例之间的所有差异,以及为什么应该使用其他人而不是其他人的任何输入.

php performance foreach lambda array-map

131
推荐指数
4
解决办法
7万
查看次数

带有索引的Java 8 forEach

有没有办法forEach在Java 8中构建一个使用索引进行迭代的方法?理想情况下,我喜欢这样的事情:

params.forEach((idx, e) -> query.bind(idx, e));
Run Code Online (Sandbox Code Playgroud)

我现在能做的最好的事情是:

int idx = 0;
params.forEach(e -> {
  query.bind(idx, e);
  idx++;
});
Run Code Online (Sandbox Code Playgroud)

java foreach for-loop java-8

129
推荐指数
3
解决办法
18万
查看次数

在PHP中FOR FOR FOR FORACH的性能

首先,我理解90%的应用程序中性能差异完全不相关,但我只需要知道哪个是更快的构造.那......

目前在网上提供的信息令人困惑.很多人说foreach很糟糕,但从技术上来说它应该更快,因为它假设使用迭代器简化了数组遍历的编写.迭代器,再次假设更快,但在PHP中也显然死得很慢(或者这不是PHP的东西?).我在谈论数组函数:next()prev()reset()等等,如果它们是偶数函数而不是那些看起来像函数的PHP语言特性之一.

为了缩小这个范围:我在以超过1的步长遍历数组时没有兴趣(也没有负步骤,即反向迭代).我也对从任意点到任意点的遍历不感兴趣,只有0到长度.我也没有看到定期操作超过1000个键的数组,但我确实看到一个数组在应用程序的逻辑中被遍历了多次!另外,对于操作,主要是字符串操作和回声.

以下是一些参考站点:
http://www.phpbench.com/
http://www.php.lt/benchmark/phpbench.php

我到处听到的内容:

  • foreach很慢,因此for/ while更快
  • PHP foreach复制它迭代的数组; 为了使它更快你需要使用引用
  • 像这样的代码:比a更快$key = array_keys($aHash); $size = sizeOf($key);
    for ($i=0; $i < $size; $i++)
    foreach

这是我的问题.我写了这个测试脚本:http://pastebin.com/1ZgK07US,无论我运行脚本多少次,我得到这样的东西:

foreach 1.1438131332397
foreach (using reference) 1.2919359207153
for 1.4262869358063
foreach (hash table) 1.5696921348572
for (hash table) 2.4778981208801
Run Code Online (Sandbox Code Playgroud)

简而言之:

  • foreachforeach参考更快
  • foreach 比...更快 for
  • foreachfor比哈希表更快

谁能解释一下?

  1. 难道我做错了什么?
  2. PHP foreach引用的东西真的有所作为吗?我的意思是,如果你通过引用传递它为什么不复制它?
  3. foreach语句的等效迭代器代码是什么; 我在网上看到了一些,但每次我测试它们的时机都是关闭的; 我还测试了一些简单的迭代器结构,但似乎从来没有得到过不错的结果 - PHP中的数组迭代器是不是很糟糕?
  4. 是否有更快的方法/方法/构造来迭代除FOR/FOREACH(和WHILE)之外的数组?

PHP版本5.3.0


编辑:答案 在这里的人的帮助下,我能够拼凑出所有问题的答案.我在这里总结一下:

  1. "难道我做错了什么?" …

php arrays performance foreach for-loop

127
推荐指数
3
解决办法
10万
查看次数

PHP foreach更改原始数组值

我是多维数组中的新手,这让我很烦恼.

我的数组如下:

$fields = array(
    "names" => array(
         "type"         => "text",
         "class"        => "name",
         "name"         => "name",
         "text_before"  => "name",
         "value"        => "",
         "required"     => true,
    )
)
Run Code Online (Sandbox Code Playgroud)

然后我得到一个函数检查是否填写了这些输入,如果需要的话.

function checkForm($fields){
    foreach($fields as $field){
        if($field['required'] && strlen($_POST[$field['name']]) <= 0){
            $fields[$field]['value'] = "Some error";
        }
    }
    return $fields;
}
Run Code Online (Sandbox Code Playgroud)

现在我的问题是这一行

$fields[$field]['value'] = "Some error";
Run Code Online (Sandbox Code Playgroud)

我想更改原始数组的内容,因为我正在返回它,但是如何在foreach循环中获取当前数组的名称(本例中的名称)?

php arrays foreach

127
推荐指数
3
解决办法
16万
查看次数

[] .forEach.call()在JavaScript中做什么?

我正在查看一些代码片段,我发现多个元素在一个节点列表上调用一个函数,并将forEach应用于一个空数组.

例如,我有类似的东西:

[].forEach.call( document.querySelectorAll('a'), function(el) {
   // whatever with the current node
});
Run Code Online (Sandbox Code Playgroud)

但我无法理解它是如何工作的.任何人都可以解释我在forEach前面的空数组的行为以及它是如何call工作的?

javascript arrays foreach nodelist ecmascript-5

118
推荐指数
5
解决办法
7万
查看次数