Home > Backend Development > PHP Tutorial > Detailed explanation of three examples of calling user-defined functions in PHP

Detailed explanation of three examples of calling user-defined functions in PHP

伊谢尔伦
Release: 2023-03-11 13:14:01
Original
1233 people have browsed it

There are custom functions in php. The call_user_func function, call_user_func_array function, and call_user_func function are often used.

1. The call_user_func function is similar to a special method of calling a function. The usage method is as follows:

<?php
//call_user_func函数

function a($b,$c)   
{   
echo $b;   
echo $c;   
}   
call_user_func(&#39;a&#39;, "111","222");   
call_user_func(&#39;a&#39;, "333","444");   
//显示 111 222 333 444   
?>
Copy after login

It is strange to call the method inside the class. Array is used, and the new operation is omitted. Saves resources to a certain extent:

<?php
class a {   
function b($c)   
{   
echo $c;   
}   
}   
call_user_func(array("a", "b"),"111");   
//显示 111   
?>
Copy after login

2. The call_user_func_array function is very similar to call_user_func, except that the parameters are passed in a different way to make the parameter structure clearer.
For example:

<?php
//call_user_func_array 调用自定义函数

function a($b, $c)   
{   
echo $b;   
echo $c;   
}   
call_user_func_array(&#39;a&#39;, array("111", "222"));   
//显示 111 222   
?>
Copy after login

The call_user_func_array function can also call methods inside the class.
For example:

<?php
Class ClassA   
{
function bc($b, $c) {   
     $bc = $b + $c;   
echo $bc;   
}   
}   
call_user_func_array(array(&#39;ClassA&#39;,&#39;bc&#39;), array("111", "222"));   
//显示 333   
?>
Copy after login

3, both the call_user_func function and the call_user_func_array function support quotes, which makes them more functionally consistent with ordinary function calls:

<?php
//call_user_func函数 调用自定义函数

function a($b)   
{   
$b++;   
}   
$c = 0;   
call_user_func(&#39;a&#39;, $c);   
echo $c;//显示 1   
call_user_func_array(&#39;a&#39;, array($c));   
echo $c;//显示 2  
?>
Copy after login

In addition, both the call_user_func function and the call_user_func_array function support references.

<?php
function increment(&$var)
{
    $var++;
}
$a = 0;
call_user_func(&#39;increment&#39;, $a);
echo $a; // 0
call_user_func_array(&#39;increment&#39;, array(&$a)); // You can use this instead
echo $a; // 1
?>
Copy after login

The above is the detailed content of Detailed explanation of three examples of calling user-defined functions in PHP. 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