>  기사  >  백엔드 개발  >  PHP 콜백 함수는 어떤 모습인가요?

PHP 콜백 함수는 어떤 모습인가요?

怪我咯
怪我咯원래의
2017-06-19 11:27:351936검색

hp내장 함수 중 다수는 다음과 같은 콜백 함수를 사용합니다.
array_filter — 콜백 함수를 사용하여 배열의 셀을 필터링합니다.
array_diff_ukey — 콜백 함수를 사용하여 키 이름을 비교하고 배열의 차이 집합을 계산합니다.
여기 콜백 함수는 일반 함수와 별반 차이가 없는 것 같습니다. php 콜백 함수는 어떻게 생겼나요? 어떤 원리로 작동하나요?

콜백 함수는 스스로 작성했지만 스스로 조정하는 것이 아니라 다른 사람이 조정하는 함수입니다.

아래의odd() 및 even() 함수와 같습니다.

<?php
function odd($var)
{
   return($var % 2 == 1);
}

function even($var)
{
   return($var % 2 == 0);
}

$array1 = array("a"=>1, "b"=>2, "c"=>3, "d"=>4, "e"=>5);
$array2 = array(6, 7, 8, 9, 10, 11, 12);

echo "Odd :\n";
print_r(array_filter($array1, "odd"));//这里把array1的值依次传入到odd这个函数里面,这种方式就称为回调
echo "Even:\n";
print_r(array_filter($array2, "even"));

?>

다음 예제에서는 콜백 함수를 구현합니다

<?
function fnCallBack($msg1, $msg2)
   {
     echo &#39;msg1:&#39;.$msg1;
      echo &#39;<br/>&#39;;
      echo &#39;msg2:&#39;.$msg2;
   }
   $fnName = &#39;fnCallBack&#39;;//函数名
   $params = array(&#39;hello&#39;, &#39;world&#39;);//将要传入到函数里面的参数
   call_user_func_array($fnName, $params);
?>

위 내용은 PHP 콜백 함수는 어떤 모습인가요?의 상세 내용입니다. 자세한 내용은 PHP 중국어 웹사이트의 기타 관련 기사를 참조하세요!

성명:
본 글의 내용은 네티즌들의 자발적인 기여로 작성되었으며, 저작권은 원저작자에게 있습니다. 본 사이트는 이에 상응하는 법적 책임을 지지 않습니다. 표절이나 침해가 의심되는 콘텐츠를 발견한 경우 admin@php.cn으로 문의하세요.