2017-08-07 88 views
1

命名的函数内每个值我有一个数组:我如何创建多维数组,值

 $realThing= array(
[foo] => Array 
     (
      [id] => foo 
      [tag] => {my:foo} 
      [label] => Foo 
      [callback] => foo 
     ) 

    [surveyid] => Array 
     (
      [id] => surveyid 
      [tag] => {my:surveyid} 
      [label] => Surveyid 
      [callback] => surveyid 
     ) 

    [membername] => Array 
     (
      [id] => membername 
      [tag] => {my:membername} 
      [label] => Membername 
      [callback] => membername 
     ) 

我想在“回调”键的每个值创建一个函数。

例如:

function foo(){} 
function surveyid(){} 
function membername(){} 

尝试:

foreach($realThing[$key] as $key => $value){ 
     function $realThing[$key]['callback'](){ 
      return '$otherArray[$Key]'; 
     }} 

所有帮助表示赞赏...

+1

如果你告诉我你试图用这个做什么,它会有所帮助。我认为你的方法可能有些误导,但很难肯定地说,除非我知道最终目标是什么。另外,请将您的帖子重新设为真正的问题。 – Difster

+0

我同意,我很难找出你想要做的事情。无论如何,您无法即时创建命名函数,但您可以创建匿名函数;例如:'$ foo = function(){/ *函数内容* /};'如果这是有帮助的 –

+0

@Difster我想让这个工作[http://developer.ninjaforms.com/codex/merge-tags/] – user3147682

回答

0

只需使用一个肛您的循环内nymous功能:

foreach($realThing[$key] as $key => $value){ 
    function ($realThing[$key]['callback']){ 
     return '$otherArray[$key]'; 
    } 
} 

注:我不能保证,将工作,因为我不能确定这就是你要完成的,但是从可操作性的角度来看,它是正确的。另请注意,我在return行中将$Key的大小写更正为$key