How to use an object method as a callback function

php

Solution

From PHP Manual on Callbacks:

A method of an instantiated object is passed as an array containing an object at index 0 and the method name at index 1.

So try

return array_map(array($this, 'encode'), $inp);

Problem

I have the below method in a singleton class ``` private function encode($inp) { if (is_array($inp) { return array_map('$this->encode', $inp); } else if is_scalar($inp) { return str_replace('%7E', rawurlencode($inp)); } else { return ''; } } ``` this works fine as an ordinary function ``` function encode($inp) { if (is_array($inp) { return array_map('encode', $inp); } else if is_scalar($inp) { return str_replace('%7E', rawurlencode($inp)); } else { return ''; } } ``` when using inside a class i'm getting the below error: PHP Warning: array_map(): The first argument, '$this->rfc_encode', should be either NULL or a valid callback Please could anybody help me to fix this.

Original source