PHP. Converter para minúscula se a palavra contém pelo menos um ponto ou pelo menos um @?

$contador = 1;
foreach($array_model as $chave => $valor) {
        
        if (!is_numeric($valor)) {
            $valores .= "'".  mb_strtoupper( $valor, 'UTF-8') . "'";
        } if (strstr($valor, '@') !== false || strstr($valor, '.') !== false) {
            $valores .= "'".  mb_strtolower( $valor, 'UTF-8') . "'";
        } else {
            $valores .= $valor;
        }
        
        $campos .= $chave;

        if($contador < $tamanho) {
            $campos .= ',';
            $valores .= ',';
        }
        $contador++;
    }

https://www.php.net/manual/pt_BR/function.strrpos.php

// estava já cansado era um erro de lógica, agora foi

foreach($array_model as $chave => $valor) {

        if (!is_numeric($valor)) {

            if (strstr($valor, '@') !== false || strstr($valor, '.') !== false) { // esta linha fica aqui

                $valor = "'".  mb_strtolower( $valor, 'UTF-8') . "'";

            } else {

                $valor = "'" . mb_strtoupper( $valor, 'UTF-8') . "'";

            }                

        }             

        

        $campos .= $chave . "=". $valor;               

        if($contador < $tamanho) {

            $campos .= ',';

        }                

        $contador++;

    }