c#语言中,foreach循环语句,循环走到最后一层的条件怎么写?
Posted
tags:
篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了c#语言中,foreach循环语句,循环走到最后一层的条件怎么写?相关的知识,希望对你有一定的参考价值。
foreach(item resultLists)
if (最后一层的条件)
最后一层需要做的一些处理
foreach (item it in resultLists), 它就等价于 for (int i = 0; i < resultLists.Length; i++)
然后循环中的it 就相当于resultLists[i]。
it是个迭代子,它从resultLists的第一个元素一直代入到最后一个元素,然后循环自动就结束了。
不知道这样是否回答了你的问题? 参考技术A foreach(ver item in resultLists)
if (item.equal(resultLists[resultLists.Length - 1]))
//处理
不过不建议这么做,因为这样做比较慢,你可以这样做:
for (int i = 0; i < resultLists.Length - 1; i++)
//处理除最后一个元素
if (resultLists[resultLists.Length - 1] == 需要判断的值)
//处理最后一个元素
本回答被提问者采纳 参考技术B 用for循环,可以知道循环的次数。
for(int=0;i<resultLists.count();i++)
if(i==resultLists.count()-1)
// 处理
foreach 循环仅输出数组中的最后一个元素
【中文标题】foreach 循环仅输出数组中的最后一个元素【英文标题】:foreach loop only outputs the last element from array 【发布时间】:2019-10-22 07:00:31 【问题描述】:我做了一个选择语句,它有多个输出。
但是当我尝试返回时,它只会返回最后一个。 这是我的代码...
$stmt->execute();
$row = $stmt->fetchAll();
$result = [];
foreach ($row as $fullName => $type)
$result['fullName'] = $type['name'] . ' ' .$type['lastname'];
$result['class_type'] = $type['typ'];
var_dump($result['fullName']);
return $result;
我的 var-dump 返回 4 个结果,但我的 return 只返回 var dump 的最后一个结果。
我在这里做错了什么?
【问题讨论】:
【参考方案1】:您正在重写代码中的值。您需要将每个结果推送到数组。请参阅下面的代码以供参考。
$stmt->execute();
$row = $stmt->fetchAll();
$result = [ ];
foreach ($row as $fullName => $type)
$result[] = [
'fullName' => $type['name'] . ' ' .$type['lastname'],
'class_type' => $type['typ'] ];
// var_dump($result['fullName']);
return $result;
【讨论】:
【参考方案2】:如果您正确构建查询,则不需要foreach
:
SELECT CONCAT(name, " ", lastname) AS fullName, typ AS class_type FROM table_name
然后只需获取所有行并返回它们:
$stmt->execute();
return $stmt->fetchAll(PDO::FETCH_ASSOC);
【讨论】:
嘿,我确实尝试过类似SELECT profile`.rolle, ( `profile`.`name` , " " , `profile`.nachname ) AS full_name,
但它返回的操作数应该包含 1 列以上是关于c#语言中,foreach循环语句,循环走到最后一层的条件怎么写?的主要内容,如果未能解决你的问题,请参考以下文章