Home > Backend Development > PHP Tutorial > PHP callback function type transfer method

PHP callback function type transfer method

小云云
Release: 2023-03-22 11:34:02
Original
1466 people have browsed it

This article mainly shares with you the callback function type transfer method in PHP. We test it here through the array_map() function, hoping to help everyone.

Method 1, global function

function foo($val){
	return intval($val)+1;
}
$arr = array('a',2,'b',5,'c',7);
//回调函数传递方式
$res = array_map('foo', $arr);
/**
输出如下:
array (size=6)
  0 => int 1
  1 => int 3
  2 => int 1
  3 => int 6
  4 => int 1
  5 => int 8
*/
Copy after login

Method 2, class public function

class Demo {
	public function foo($val){
		return intval($val)+1;
	}
}
$arr = array('a',2,'b',5,'c',7);
//回调函数传递方式
$res = array_map(array(new Demo, 'foo'), $arr);
Copy after login

Method 3, class private function

class Demo {
	private function foo($val){
		return intval($val)+1;
	}
	public function test(){
		$arr = array('a',2,'b',5,'c',7);
        //回调函数传递方式
		$res = array_map(array($this, 'foo'), $arr);
		return $res;
	}
}
$demo = new Demo;
$result = $demo->test();
Copy after login

Method 4, class public static Method

class Demo {  
    static public function foo($val){  
        return intval($val)+1;  
    }  
}  
  
$arr = array('a',2,'b',5,'c',7);  
//回调函数传递方式  以下两种方式都可以
$res = array_map('Demo::foo', $arr); 
//$res = array_map(array('Demo', 'foo'), $arr);
Copy after login

Method 5, class private static method

class Demo {
	static private function foo($val){
		return intval($val)+1;
	}
	static public function test(){
		$arr = array('a',2,'b',5,'c',7);
        //回调函数传递方式  这里可以使用两种传递方式
		$res = array_map(array('self', 'foo'), $arr);
		//$res = array_map('self::foo', $arr);
		//$res = array_map(array('Demo', 'foo'), $arr);
		//$res = array_map('Demo::foo', $arr);
		return $res;
	}
}
$result = Demo::test();
Copy after login

Method 6, anonymous function

$foo = function($val){
return intval($val)+1;
};
$arr = array('a',2,'b',5,'c',7);
//回调函数传递方式
$res = array_map($foo, $arr);
Copy after login

Related recommendations:

PHP callback function and Detailed explanation of the use of anonymous functions

Completely master js callback functions

Parsing of PHP callback functions

The above is the detailed content of PHP callback function type transfer method. For more information, please follow other related articles on the PHP Chinese website!

Related labels:
source:php.cn
Statement of this Website
The content of this article is voluntarily contributed by netizens, and the copyright belongs to the original author. This site does not assume corresponding legal responsibility. If you find any content suspected of plagiarism or infringement, please contact admin@php.cn
Popular Tutorials
More>
Latest Downloads
More>
Web Effects
Website Source Code
Website Materials
Front End Template