<?php
interface Arrayable {
/**
* Return the object as an array
*/
public function toArray();
}
interface ExcludeArrayable {
/**
* Return the object as an array, except for the keys in $exclude
*/
public function toArray($exclude= array());
}
class Item implements Arrayable, ExcludeArrayable {
$attributes = array();
public function __construct($attributes)
{
$this->attributes = $attributes;
}
public function toArray($exclude = array())
{
return array_filter($this->attributes, function($k) use($exclude) {
return !in_array($k, $exclude);
}, ARRAY_FILTER_USE_KEY);
}
}
$array = array('foo' => 'bar', 'baz' => 2);
$item = new Item($array);
var_dump($item->toArray());
Parse error: syntax error, unexpected '$attributes' (T_VARIABLE), expecting function (T_FUNCTION) in /in/eaUbD on line 19
Process exited with code 255.