PHP
    119
    Вклад в тег
    
      
      
    
  
  
// Возврат нескольких значений:
function some() {
    return [23, 42];
}
// Получение
[$a, $b] = some();
\var_dump($a, $b);// Возврат нескольких значений:
function some() {
    return ['a' => 23, 'b' => 42];
}
// Получение
['a' => $a, 'b' => $b] = some();
\var_dump($a, $b);function some() {
    yield 'a' => 23;
    yield 'b' => 42;
}
foreach (some() as $key => $value) {
  echo $key . ':' . $value; // a:23 b:42
}function some() {
    yield 23;
    yield 42;
}
foreach (some() as $value) {
  echo $value; // 23 42
}function some() {
    yield 23;
    return 42;
}
$value = some();
echo $value->current(); // 23
$value->next();
echo $value->getReturn(); // 42class DataTransferObject
{
    private $a;
    private $b;
    public function __construct($a, $b)
    {
        $this->a = $a;
        $this->b = $b;
    }
    public function getA()
    {
        return $this->a;
    }
    public function getB()
    {
        return $this->b;
    }
}
function some() {
    return new DataTransferObject(23, 42);
}
$value = some();
echo $value->getA(); // 23
echo $value->getB(); // 42