两个函数之间的PHP Pass数组

时间:2014-03-12 00:14:56

标签: php arrays function

我目前有2个功能;我需要从另一个函数内部读取其中一个函数内的一个数组:

function a(){

 foreach ($options as $option){ // $options is a variable from function b()
  // here goes a really long loop
 }

}

function b(){

 $options[] = array(
   'key1' => 1,
   'key2' => 2,
   'key3' => 3,
  );

 function a(); // run function here?
}

我的php文件将包含多个我们称之为&#34; 功能b()&#34;的副本。在每个函数b()中,我想运行函数a(),但是使用函数b()<中的数组内容/强>

函数a()包含一个总是相同但很长的循环,我只想让代码尽可能短而不是复制函数a() 在每个函数b()中。

这可能很容易,但我很长时间以来一直在努力解决这个问题!

2 个答案:

答案 0 :(得分:3)

只需从b()返回数组,然后将其作为参数传递给a()

function a($options){
    foreach ($options as $option){ 
      // here goes a really long loop
    }
}

function b(){
   $options = array(
       'key1' => 1,
       'key2' => 2,
       'key3' => 3,
   );
   a($options);
}

答案 1 :(得分:1)

你能不能简单地将它作为函数参数传递?

function a($options){
    foreach ($options as $option){ // $options is a variable from function b()
        // here goes a really long loop
    }
}

function b(){
    a(array(
        'key1' => 1,
        'key2' => 2,
        'key3' => 3,
    ));
}