Warning: file_get_contents(/data/phpspider/zhask/data//catemap/6/codeigniter/3.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
PHP从foreach循环中检索数组值,并将单个值传递给函数_Php_Codeigniter_Return Value - Fatal编程技术网

PHP从foreach循环中检索数组值,并将单个值传递给函数

PHP从foreach循环中检索数组值,并将单个值传递给函数,php,codeigniter,return-value,Php,Codeigniter,Return Value,我有一个函数,它包含一个foreach循环,该循环遍历数组,并使用$row['COLORS']返回每个值。目标是将值传递到调用的函数中。这是我的问题。我无法使用“return”传递值。由于foreach循环,我不能使用return来保持循环。以下代码仅适用于1条记录 function __construct() { parent::__construct(); $this->myColors = $this->getColors(); } public funct

我有一个函数,它包含一个foreach循环,该循环遍历数组,并使用$row['COLORS']返回每个值。目标是将值传递到调用的函数中。这是我的问题。我无法使用“return”传递值。由于foreach循环,我不能使用return来保持循环。以下代码仅适用于1条记录

function __construct() {
   parent::__construct();

   $this->myColors = $this->getColors();
}  

public function getColors() {
   sql = $this->buildSQL();
   $query = $this->db->query($sql)->result_array();

   foreach ($query as $row) {
     $theColor = $row['COLOR'];
     return $theColor;
  }
}
我需要对数组中的每种颜色执行相同的操作,而不仅仅是一个值。我已经尝试将值传递给另一个函数并返回,但它没有返回我在_构造中需要它的地方

...
foreach ($query as $row) {
   $theColor = $row['COLOR'];
   $this->returnColor($passColor);
}
public function returnColor($passColor) {
    return $passColor;
}

我还尝试了一个带有switch语句的函数(由于有数百个值,这不是一个可行的解决方案),但在这种情况下,返回同样不起作用。非常感谢您的帮助。

从循环中删除返回值您需要返回这些值的数组吗?如果是这样,则收集它们并在循环语句外返回。在另一种情况下,您每次都会收到一个值。返回已从循环中取出,但什么也没有发生。此外,我不需要收集值。我只需要一次检索每个值。问题可能是如何将值传递给_构造函数。感谢您的回复。还有什么想法。任何人