首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >foreach循环只输出数组中的最后一个元素

foreach循环只输出数组中的最后一个元素
EN

Stack Overflow用户
提问于 2019-06-07 02:11:33
回答 2查看 40关注 0票数 1

我做了一个select语句,它有多个输出。

但是当我尝试返回它时,只返回最后一个。这是我的代码。

代码语言:javascript
复制
$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转储的最后一个结果。

我在这里做错了什么?

EN

回答 2

Stack Overflow用户

回答已采纳

发布于 2019-06-07 02:23:03

如果正确构造查询,则不需要使用foreach

代码语言:javascript
复制
SELECT CONCAT(name, " ", lastname) AS fullName, typ AS class_type FROM table_name

然后只需获取所有行并返回它们:

代码语言:javascript
复制
$stmt->execute();
return $stmt->fetchAll(PDO::FETCH_ASSOC);
票数 1
EN

Stack Overflow用户

发布于 2019-06-07 02:19:14

您正在重写代码中的值。您需要将每个结果推送到数组中。请参阅下面的代码以供参考。

代码语言:javascript
复制
$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;
票数 -1
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/56482985

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档