private static PhpArray RangeOfChars(char low, char high, int step)
{
if (step == 0)
{
//PhpException.InvalidArgument("step", LibResources.GetString("arg:zero"));
//step = 1;
throw new ArgumentException();
}
if (step < 0) step = -step;
PhpArray result = new PhpArray(Math.Abs(high - low) / step + 1, 0);
if (high >= low)
{
for (int i = 0; low <= high; i++, low = unchecked((char)(low + step))) result.Add(i, low.ToString());
}
else
{
for (int i = 0; low >= high; i++, low = unchecked((char)(low - step))) result.Add(i, low.ToString());
}
return result;
}