Heim > Backend-Entwicklung > PHP-Tutorial > Übertragungsmethode für PHP-Rückruffunktionstypen

Übertragungsmethode für PHP-Rückruffunktionstypen

小云云
Freigeben: 2023-03-22 11:34:02
Original
1466 Leute haben es durchsucht

In diesem Artikel wird hauptsächlich die Methode zur Übertragung von Callback-Funktionstypen in PHP vorgestellt. Hier verwenden wir die Funktion array_map(), um sie zu testen.

Methode 1, globale Funktion

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
*/
Nach dem Login kopieren

Methode 2, öffentliche Klassenfunktion

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);
Nach dem Login kopieren

Methode 3, private Klassenfunktion

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();
Nach dem Login kopieren

Methode 4. Öffentliche statische Klassenmethode

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);
Nach dem Login kopieren

Methode 5. Private statische Klassenmethode

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();
Nach dem Login kopieren

Methode 6. Anonyme Funktion

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

Verwandte Empfehlungen:

Detaillierte Erläuterung der Verwendung von PHP-Rückruffunktionen und anonymen Funktionen

JS-Rückruffunktionen vollständig beherrschen

Die Analyse von PHP-Callback-Funktionen

Das obige ist der detaillierte Inhalt vonÜbertragungsmethode für PHP-Rückruffunktionstypen. Für weitere Informationen folgen Sie bitte anderen verwandten Artikeln auf der PHP chinesischen Website!

Verwandte Etiketten:
Quelle:php.cn
Erklärung dieser Website
Der Inhalt dieses Artikels wird freiwillig von Internetnutzern beigesteuert und das Urheberrecht liegt beim ursprünglichen Autor. Diese Website übernimmt keine entsprechende rechtliche Verantwortung. Wenn Sie Inhalte finden, bei denen der Verdacht eines Plagiats oder einer Rechtsverletzung besteht, wenden Sie sich bitte an admin@php.cn
Beliebte Tutorials
Mehr>
Neueste Downloads
Mehr>
Web-Effekte
Quellcode der Website
Website-Materialien
Frontend-Vorlage