- var_export: documentation ( source)
<?php
class ArrayAccessImplementer implements ArrayAccess
{
private $array;
public function __construct(array $array)
{
$this->array = $array;
}
public function offsetExists($offset)
{
return array_key_exists($this->array, $offset);
}
public function offsetSet($offset, $value)
{
$this->array[$offset] = $value;
}
public function offsetGet($offset)
{
return $this->array[$offset];
}
public function offsetUnset($offset)
{
unset($this->array[$offset]);
}
}
class ArrayObjectSubClass extends ArrayObject {
}
class SimpleObject
{
public function __construct(array $array)
{
foreach ($array as $key => $value) {
$this->{$key} = $value;
}
}
}
$inputArray = array(0 => 'value0', '1' => 'value1', 1 => 'value2');
$stdClassObject = (object)$inputArray;
$simpleObject = new SimpleObject($inputArray);
$arrayObject = new ArrayObject($inputArray);
$arrayObjectSubclass = new ArrayObjectSubClass($inputArray);
$arrayAccess = new ArrayAccessImplementer($inputArray);
echo 'stdClass: ';
var_export((array)$stdClassObject);
echo PHP_EOL, 'SimpleObject: ';
var_export((array)$simpleObject);
echo PHP_EOL, 'ArrayObject: ';
var_export((array)$arrayObject);
echo PHP_EOL, 'ArrayObjectSubclass: ';
var_export((array)$arrayObjectSubclass);
echo PHP_EOL, 'ArrayAccess: ';
var_export((array)$arrayAccess);