Области видимости

$x = 5; // доступна в любом месте кода после определения
$y = 2;
$z = 10;

include('file.php'); // все что внутри доступно для взаимодействия

function foo($y){
  echo $x; // недоступна так как не передана в функцию
  echo $y; // все ок
  
  global $x; //ссылка на исходную переменную, изменения затронут оригинал
  echo $x; //теперь доступна
  
  echo $GLOBALS['x']; // Другой вариант получить доступ к глобальной переменной
}
foo($y);

Статические переменные

function getValue(){
  $value = someFoo();
  return $value;
}

function someFoo(){
  sleep(5);
  return 10;
}

getValue();
getValue();
getValue(); // общее время выполнения 15 секунд

// но если изменить функцию 
function getValue(){
  static $value = null; // вариант кеширования значения
  if($value === null){
    $value = someFoo();
  }
  return $value;
}
// Общее время выполнения сократится до 5 секунд
// функция someFoo выполнится один раз, даже если вызовов несколько