Это довольно неэффективно, поскольку вы по сути устанавливаете ключ для ассоциативного массива в каждом цикле.Я бы оставил их локальными, а затем назначил бы их, когда цикл завершится, если вам нужно их сохранить.Также передайте значения методам при их вызове.
class SomeClass {
function foo($myArray) {
foreach ($myArray as $key => $value){
$this->bar($key);
$this->baz($value);
}
$this->key = $key;
$this->value = $value;
}
function bar($key){
//do something with $this->key or $this->value
}
function baz($value){
//do something with $this->key or $this->value
}
}