Как вернуть 2 значения в PHP return?
Вариант 1 - Деструктуризация:// Возврат нескольких значений:
function some() {
    return [23, 42];
}

// Получение
[$a, $b] = some();

\var_dump($a, $b);
Вариант 2 - Деструктуризация с ключами:// Возврат нескольких значений:
function some() {
    return ['a' => 23, 'b' => 42];
}

// Получение
['a' => $a, 'b' => $b] = some();

\var_dump($a, $b);
Вариант 3 - Генераторы с ключами:function some() {
    yield 'a' => 23;
    yield 'b' => 42;
}

foreach (some() as $key => $value) {
  echo $key . ':' . $value; // a:23 b:42
}
Вариант 4 - Генераторы без ключей:function some() {
    yield 23;
    yield 42;
}

foreach (some() as $value) {
  echo $value; // 23 42
}
Вариант 5 - Генераторы с возвратом:function some() {
    yield 23;
    return 42;
}

$value = some();
echo $value->current(); // 23
$value->next();
echo $value->getReturn(); // 42
Вариант 6 - DTO:class 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
И ещё куча всяких вариантов, но мне влом придумывать уже)
проще всего некоторые значения возвращать по ссылкеpublic function get_phone( $args, &$b ) {
        $b = 2;      
        return  1;
  }

$a = get_phone( [], &$b );
echo $a, $b; // 12