How to use an object method as a callback function

前端 未结 2 961
再見小時候
再見小時候 2020-12-03 18:01

I have the below method in a singleton class

private function encode($inp)
{
    if (is_array($inp) {
        return array_map(\'$this->encode\', $inp);
          


        
相关标签:
2条回答
  • 2020-12-03 18:11

    Release the single code from $this->encode.

    > 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 '';
    >     } }
    

    Hope that clears the issue.

    0 讨论(0)
  • 2020-12-03 18:18

    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);
    
    0 讨论(0)
提交回复
热议问题