2012-06-07 2 views
0

Я хочу создать функцию php, которая вернет указатель на другую функцию. Это то, что я хочу сделатьФункция php возвращает указатель на другую функцию

<?php 

function modeMaker() { 

return function myMax() { 
echo "max function"; 
}; 
} 

$as=modeMaker(); 

?> 
+1

И ваши вопросы есть? – flowfree

+2

Изменить 'return function myMax() {' to 'return function() {' и будет работать с PHP> = 5.3 – vstm

ответ

0

PHP не имеет указателей, особенно для функций. У вас есть два варианта:

  1. returnимя регулярной функции:

    function myMax() { 
        echo "max function"; 
    }; 
    
    function modeMaker() { 
        return 'myMax'; 
    } 
    
    $as = modeMaker(); 
    $as(); 
    
  2. return анонимная функция, если вы работаете на PHP 5.3+:

    function modeMaker() { 
        return function() { 
         echo "max function"; 
        }; 
    } 
    
    $as = modeMaker(); 
    $as(); 
    
Смежные вопросы