Concept

How can functions be assigned to variables and invoked as callbacks?

ComputerScienceOne / Function Pointers

"Functions are just pieces of code that reside somewhere in memory just as variables do. Since we can pass variables by reference, it also makes sense that we would do the same with functions. In PHP, functions are first-class citizens, meaning that you can assign a function to a variable just as you would a numeric value. For example, you can do the following.\n\n$func = swapByRef;\n\n$func($x, $y);\n\nIn the example above, we assigned the function swapByRef() to the variable $func by using its identifier. The variable essentially holds a reference to the swapByRef() function. Since it refers to a function, we can also invoke the function using the variable as in the last line. This allows you to treat functions as callbacks to other functions. We will revisit this concept in Chapter 47."

Related Ideas

How can functions be assigned to variables and invoked as callbacks? | ComputerScienceOne | Bifalgorithm | Bifalgorithm