<?php

$array = [
        "T3497012@CHOSTBRHDDSB@EICM_BORA@BPHS@Bamz",
        "T3497012@BHOSTBRHDDSB@EICM_BORA@BPHS@Bamz",
        "T3497012@AHOSTBRHDDSB@EICM_BORA@BPHS@Bamz",
        "T3497012@AHOSTBRHDDSB@EICM_BORB@BPHS@Aama",
        "T3497012@AHOSTBRHDDSB@EICM_BORC@APHS@cama",
        "T2497123@DHOSTBRHDDSB@CICM_BORD@APHS@camb",
        "T2497123@EHOSTBRHDDSB@BICM_BORE@APHS@camc",
        "T5557012@FHOSTBRHDDSB@AICM_BORF@APHS@camd"
      ];
      
foreach ($array as $chave => $valor){
    $array[$chave] = explode("@",$valor);
}

usort($array, function($a, $b){

    if ($a[2] === $b[2]){
        if ($a[3] === $b[3]){
            if ($a[4] === $b[4]){
                return strcmp($a[1], $b[1]);
            }
            else return strcmp($a[4], $b[4]);
        }
        else return strcmp($a[3], $b[3]);
    }
    else  return strcmp($a[2], $b[2]);
    
});


foreach($array as $chave => $valor){
    $array[$chave] = implode("@", $array[$chave]);
}

print_r($array);