当变量在foreach中定义PHP函数时,返回最后一项 foreach($key作为$key){ $key['function_name']=函数(){ 全球$key; $return='.$key['title'].'; return$return; }; //做些有回报的事情。 }

当变量在foreach中定义PHP函数时,返回最后一项 foreach($key作为$key){ $key['function_name']=函数(){ 全球$key; $return='.$key['title'].'; return$return; }; //做些有回报的事情。 },php,function,variables,Php,Function,Variables,当我用return做一些事情时,它总是返回我$keys的最后一个标题。我需要做什么才能获得我想要的特定标题“$key['function\u name']”语句: foreach ( $keys as $key ){ $key['function_name'] = function (){ global $key; $return = '<h3>'. $key['title'] .'</h3>'; return $r

当我用return做一些事情时,它总是返回我$keys的最后一个标题。我需要做什么才能获得我想要的特定标题“$key['function\u name']”语句:

foreach ( $keys as $key ){
    $key['function_name'] = function (){
        global $key;
        $return = '<h3>'. $key['title'] .'</h3>';
        return $return;
     };
    // do someting with return.
}
这样,在
foreach
期间创建的每个函数都使用不同的
$key
:创建函数时当前的
$key
值。

语句:

foreach ( $keys as $key ){
    $key['function_name'] = function (){
        global $key;
        $return = '<h3>'. $key['title'] .'</h3>';
        return $return;
     };
    // do someting with return.
}

这样,在
foreach
期间创建的每个函数都使用不同的
$key
:创建函数时当前的
$key
值。

只有函数有返回值。您是否尝试将其作为引用传递?您的意思是什么?我是一个新的变量函数。每一个$key变量都有标题@roy我该怎么做@Daerikw你到底想实现什么?据我所知,您希望在循环中使用值来执行一些计算。一种更好的方法是单独编写方法,并在循环的每次迭代期间调用它。只有函数有返回值。您是否尝试将其作为引用传递?您的意思是什么?我是一个新的变量函数。每一个$key变量都有标题@roy我该怎么做@Daerikw你到底想实现什么?据我所知,您希望在循环中使用值来执行一些计算。一种更好的方法是单独编写方法,并在循环的每次迭代中调用它。
foreach ($keys as $key) {
    $key['function_name'] = function () use ($key) {
        return '<h3>'. $key['title'] .'</h3>';
     };
}