public static PhpValue array_pop(PhpArray array)
{
if (array == null)
{
//PhpException.ReferenceNull("array");
//return null;
throw new ArgumentNullException();
}
if (array.Count == 0) return PhpValue.Null;
// dereferences result since the array doesn't do so:
var result = (array.RemoveLast().Value); // TODO: PhpVariable.Dereference
array.RefreshMaxIntegerKey();
array.RestartIntrinsicEnumerator();
return result;
}