LCD print arrays of Strings with millis();

Local one.

I suggest that you get rid of the global one as its only purpose is to confuse anyone reading the code.

You have to be very careful when you have variables with the same name in different scopes, particularly when one of them has global scope. For instance, look at this program

int aVariable = 0;

void setup()
{
  Serial.begin(115200);
}

void loop()
{
  static unsigned long aVariable = millis();
  Serial.println(aVariable);
  delay(1000);
}

Before running it can you predict what it will print ?

Now look at this one

int aVariable = 0;

void setup()
{
  Serial.begin(115200);
}

void loop()
{
  static unsigned long aVariable;
  aVariable = millis();
  Serial.println(aVariable);
  delay(1000);
}

Again, before running it can you predict what it will print ?