如何在codeigniter中使用回调函数

时间:2015-04-14 05:55:09

标签: php codeigniter callback

我有一个数组 $ services ,此数组包含以下值:

Array
(
  [0] => One way
  [1] =>  Hourly
  [2] =>  To Airport
  [3] =>  From Airport
  [4] =>   Birthday
  [5] =>  Wedding
  [6] =>  Concert
  [7] =>   Sporting Event
  [8] =>   Cruise Party
  [9] =>  Funeral
)

您可以注意到数组中的某些值包含空格 为了从数组值中删除这个空间,我创建了一个array_walk函数,它进入数组并修剪空白区域。

public function trim_value(&$value) {
     $value = trim($value);
}  

众所周知,array_walk函数的语法是:

array_walk($array, 'callback_function');

现在我想在codeigniter控制器中使用此功能。据我所知,控制器中的一个函数被用作另一个函数中的$ this->函数 所以我尝试使用回调函数:

array_walk($services, $this->trim_value);

它总是抛出以下错误:

  

遇到PHP错误

<p>Severity: Notice</p>
<p>Message:  Undefined property: Attribute::$trim_value</p>
<p>Filename: controllers/attribute.php</p>
<p>Line Number: 230</p>

那么有人可以告诉我如何在控制器的一个函数中使用回调函数吗?

1 个答案:

答案 0 :(得分:7)

您必须将array_walk()数组与$this作为已定义的variable/pointer传递。

试试这个

array_walk($array, array($this, 'trim_value'));