【问题标题】:foreach in php class returns only 1 resultphp 类中的 foreach 仅返回 1 个结果
【发布时间】:2015-10-10 00:41:30
【问题描述】:

我有以下代码:

Example.class.php

class Example {
    public function functionArrayExample() {
        $query = array();

        // this foreach comes from a select that returns more than 1 results
        foreach($someSelect as $exAS) {
            $query[] = $exAS;
        }

        return $query;
    }
}

index.php

require_once("Example.class.php");

$example = new Example();

$selectExample = $example -> functionArrayExample();

die(var_dump($selectExample));

但是,只显示了 1 个结果(在数组中)(在die() 行中),为什么?由于查询返回的结果不止 1 个?

【问题讨论】:

  • 您能否向我们展示一下 SELECT 语句以及如何使用它来提供 $someSelect 数组?
  • 你需要指定你是什么$someSelect变量,因为从例子中看不出来。
  • 您还可以发布有关如何从查询中检索行的代码吗?
  • count($someSelect)的值是多少?
  • $someSelect 来自哪里?????????它不是作为参数传递的吗?它不是从查询创建的吗?你不使用$this-> 换句话说它不存在

标签: php arrays foreach return


【解决方案1】:

我解决了这个问题:return 只返回了 1 个结果(我不知道为什么),但使用 print_r 时,结果正确返回(数组中有 2 个结果)。

【讨论】:

    【解决方案2】:

    如果我添加:

        $someSelect = array();
        $someSelect[] = 'red';
        $someSelect[] = 'blue';
        $someSelect[] = 'green';
    

    foreach($someSelect as $exAS) { 之上,那么您的代码可以完美运行。

    因此,您的错误一定与您的 $someSelect 数组有关。

    【讨论】:

    • 正是... foreach 语句没有任何问题,这意味着问题出在未提供的代码中,使问题无用。
    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 2015-02-24
    • 1970-01-01
    • 2020-02-10
    • 2014-10-26
    • 1970-01-01
    • 1970-01-01
    • 2021-04-12
    相关资源
    最近更新 更多