LINUX.ORG.RU

История изменений

Исправление deep-purple, (текущая версия) :

А возможно ли вообще как-либо вызывать эту функцию сразу?

class MyGenderClosure
{
    private $_sex = array('М', 'Ж');
    public function __toString()
    {
        $this->_run();
        return current($this->_sex);
    }
    private function _run()
    {
        shuffle($this->_sex);
    }
}

$data = array('gender' => new MyGenderClosure());

echo $data['gender'] . PHP_EOL; // М
echo $data['gender'] . PHP_EOL; // Ж
echo $data['gender'] . PHP_EOL; // М
echo $data['gender'] . PHP_EOL; // М
echo $data['gender'] . PHP_EOL; // Ж

Исходная версия deep-purple, :

А возможно ли вообще как-либо вызывать эту функцию сразу?

class MyGenderClosure
{
    private $_sex = array('М', 'Ж');
    public function __toString()
    {
        $this->_run();
		return current($this->_sex);
    }
    private function _run()
    {
		shuffle($this->_sex);
    }
}

$data = array('gender' => new MyGenderClosure());

echo $data['gender'] . PHP_EOL; // М
echo $data['gender'] . PHP_EOL; // Ж
echo $data['gender'] . PHP_EOL; // М
echo $data['gender'] . PHP_EOL; // М
echo $data['gender'] . PHP_EOL; // Ж