Я пытаюсь сбрасывать элементы частной собственности объекта через анонимную функцию - конечно, я мог бы добиться этого любыми другими способами, но это подчеркивает загадку PHP, которую я не могу решить в голове, за исключением $ foo = $ this и использования $ foo - но ЭТО не даст мне личных вещей, итак ... предложения?
Пример кода:
class MyClass
{
private $payload = Array( 'a' => 'A element', 'b' => 'B element');
static $csvOrder = Array('b','a');
public function toCSV(){
$values = array_map(
function($name) use ($this) { return $this->payload[$name]; },
self::$csvOrder
);
return implode(',',$values);
}
}
$mc = new MyClass();
print $mc->toCSV();