private static PhpValue[] PrepareWalk(IDictionary array, IPhpCallable callback, PhpValue data)
{
if (callback == null)
{
//PhpException.ArgumentNull("callback");
// return null;
throw new ArgumentNullException(nameof(callback));
}
if (array == null)
{
//PhpException.ArgumentNull("array");
//return null;
throw new ArgumentNullException(nameof(array));
}
// prepares an array of callback's arguments (no deep copying needed because it is done so in callback):
return (data != null)
? new PhpValue[] { PhpValue.CreateAlias(), PhpValue.Null, data }
: new PhpValue[] { PhpValue.CreateAlias(), PhpValue.Null };
}