void IPhpArray.SetItemValue(IntStringKey key, PhpValue value)
{
int index = key.IsInteger ? key.Integer : (int)Convert.StringToLongInteger(key.String);
char ch;
switch (value.TypeCode)
{
case PhpTypeCode.Long:
ch = (char)value.Long;
break;
case PhpTypeCode.String:
ch = (value.String.Length != 0) ? value.String[0] : '\0';
break;
case PhpTypeCode.WritableString:
ch = value.WritableString[0];
break;
// TODO: other types
default:
throw new NotSupportedException(value.TypeCode.ToString());
}
this[key.Integer] = ch;
}