Understanding About Exist/unique Validator

I don’t really get the meaning of validation using multi-column like this:


    // a1 needs to exist in the column represented by the "a1" attribute

    ['a1', 'exist'],

    // a1 needs to exist, but its value will use a2 to check for the existence

    ['a1', 'exist', 'targetAttribute' => 'a2'],

    // a1 and a2 need to exist together, and they both will receive error message

    [['a1', 'a2'], 'exist', 'targetAttribute' => ['a1', 'a2']],

    // a1 and a2 need to exist together, only a1 will receive error message

    ['a1', 'exist', 'targetAttribute' => ['a1', 'a2']],

    // ***a1 needs to exist by checking the existence of both a2 and a3 (using a1 value)

    ['a1', 'exist', 'targetAttribute' => ['a2', 'a1' => 'a3']],

    // ***a1 needs to exist. If a1 is an array, then every element of it must exist.

    ['a1', 'exist', 'allowArray' => true],


Especially the last two, is there any more particular use case for that. a1 must exist in a2 and a3 right? but what is the key ‘a1’ in the targetAttribute array stands for?