PHP: variable not working inside of function?

If you want it to work, you should use global $path in the function, so it looks outside the function scope.

Please note that global variables are sent from hell :).


Because it's not defined in the function.

There are a few ways to go about this:

1) Use what Alex said by telling the function it is a global variable:

echo $path; // working

function createList($retval) {
  global $path;

  echo $path; // working
}

2) Define it as a constant:

define(PATH, "/my/test/path"); // You can put this in an include file as well.
  
echo PATH; // working

function createList($retval) {
  echo PATH; // working
}

3) Pass it into the function if it's specific to that function:

echo $path; // working

function createList($retval, $path) {
  echo $path; // working
}

Based on how the function really works, one of those will do ya.

Tags:

Php

Function