26 foreach ($this->value as $val) {
36 throw new \InvalidArgumentException(
'An indexed array was expected');
39 $keys = array_keys(
$value);
46 $numeric = range(0, $length - 1);
51 if ($keys !== $numeric) {
52 throw new \InvalidArgumentException(
'An indexed array was expected');
57 throw new \InvalidArgumentException(
'A valid XML-RPC type was expected');
65 public function write(\XMLWriter $writer, \DateTimeZone $timezone, $stringTag)
67 $writer->startElement(
'array');
68 $writer->startElement(
'data');
69 foreach ($this->value as $val) {
70 $writer->startElement(
'value');
71 $val->write($writer, $timezone, $stringTag);
72 $writer->endElement();
74 $writer->endElement();
75 $writer->endElement();
79 protected static function parse(
$value, \DateTimeZone $timezone = null)
98 if ($offset === null) {
101 } elseif (!is_int($offset)) {
102 throw new \InvalidArgumentException(
'An integer offset was expected');
103 } elseif (!array_key_exists($offset, $this->value) && $offset !==
count($this->value)) {
104 throw new \InvalidArgumentException(
'Cannot set arbitrary offset in array');
106 $this->value[$offset] =
$value;
120 unset($this->value[$offset]);
122 $this->value = array_values(
$value);
write(\XMLWriter $writer,\DateTimeZone $timezone, $stringTag)
$index
Current index in the collection.
$value
Current value associated with this object.
A class representing an abstract XML-RPC type.
An abstract XML-RPC type representing a collection of values.
The XML-RPC "array" type.
offsetSet($offset, $value)
static parse($value,\DateTimeZone $timezone=null)