我有一个数组 $ 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>
那么有人可以告诉我如何在控制器的一个函数中使用回调函数吗?
答案 0 :(得分:7)
您必须将array_walk()
数组与$this
作为已定义的variable/pointer
传递。
试试这个
array_walk($array, array($this, 'trim_value'));