2013-02-23 4 views
1

У меня есть следующий код:Доступ к переменной из функции внутри функции?

function create_sort_callback($criteria) 
{ 
    return function($a, $b) 
    { 
    $a = $a[$criteria]; 
    $b = $b[$criteria]; 

    return ($a == $b ? 0 : (($a < $b) ? -1 : 1)); 
    }; 
} 

Оказывается, я не могу получить доступ к $criteria изнутри внутренней функции. Как я могу решить эту проблему?

ответ

0

Используйте use ключевое слово.

function create_sort_callback($criteria) 
{ 
    return function($a, $b) use ($criteria) 
    { 
    $a = $a[$criteria]; 
    $b = $b[$criteria]; 

    return ($a == $b ? 0 : (($a < $b) ? -1 : 1)); 
    }; 
} 
Смежные вопросы