Keyboard shortcuts

Press ← or → to navigate between chapters

Press S or / to search in the book

Press ? to show this help

Press Esc to hide this help

Match() avec plusieurs valeurs

By Pascal Baljet

<?php

match([$clause, $this->isNested()]) {
    [Clause::IsSet, true]  => $query->has($this->relationship),
    [Clause::IsNotSet, true]  => $query->doesntHave($this->relationship),
    [Clause::IsSet, false]  => $query->whereNotNull($this->column),
    [Clause::IsNotSet, false]  => $query->whereNull($this->column),
};

Voici un exemple d’utilisation de match(), pour comparer deux valeurs en même temps. L’astuce consiste à regrouper les deux valeurs, ou plus, dans un tableau, puis à retourner un tableau avec le même nombre d’éléments dans le même ordre.

Il serait également possible de faire un match(true), et d’utiliser des expressions booléennes pour chaque branche du match(). La première qui correspond est utilisée.

See Also

PHP Features

Last updated: 11 October 2026