PHP performance considerations of passing variable into a function Example code:

&lt;?php
class MyClass {
    public $bar = array('a', 'b', 'c');
    public function getBar() {return $this-&gt;bar;}

    public function execute(array $fooArray) {
        foreach ($fooArray as $foo) {
            echo $foo.":".$this-&gt;checkBar($foo, $this-&gt;getBar())." ";// PASSED IN//
            //echo $foo.":".$this-&gt;checkBar($foo)." ";// RETRIEVED //
        }
    }

    // PASSED IN //
    public function checkBar($foo, array $fooCheck) {
        return in_array($foo, $fooCheck);
    }

    // RETRIEVED //
    /*public function checkBar($foo) {
         $fooCheck = $this-&gt;getBar();
         return in_array($foo, $fooCheck);
    }*/
}

$someClass = new MyClass();
$someClass-&gt;execute(array('a','f','c','g'));
?&gt;


Are there any performance considerations to passing $fooCheck in as a variable into checkBar vs having MyClass::checkBar() handle calling the function itself?
Having (1)

public function execute(array $fooArray)
{
    foreach ($fooArray as $foo) {
        echo $foo . ":" . $this-&gt;checkBar($foo, $this-&gt;getBar()) . " ";
    }
}

public function checkBar($foo, array $fooCheck)
{
    return in_array($foo, $fooCheck);
}


is the exact same thing (performance wise) as (2)

public function execute(array $fooArray)
{
    foreach ($fooArray as $foo) {
        echo $foo . ":" . $this-&gt;checkBar($foo) . " ";
    }
}

public function checkBar($foo)
{
    return in_array($foo, $this-&gt;getBar());
}


In example (1), if you needed checkBar() to handle several different array inputs, then you would be able to differentiate them in execute(). Whereas example (2) would be better if you knew you would only be checking against a single array.

It's easier to expand code that's written like example (1).