Dovrebbe essere una cosa di questo tipo:

Codice PHP:
<?php 

function check_digit($code$append true) {
    
    if (
strlen($code) !== 11) {
        return 
false;
    }
    
    
$total 0;
    
    for (
$i 0$i 11$i++) {
        if (
$i == 0) {
            
$total += (int)$code[$i];
        } else {
            
$total += (int)$code[$i] * 11;
        }
    }
    
    
$string = (string)$total;

    
$total 0;

    
$count strlen($string);
    for(
$i 0$i $count$i++) {
        
$total += (int)$string[$i];
    }
    
    
$result $total 10;

    return 
$append $code $result $result;
}

print 
check_digit('13586854035');

?>
Non avendo la descrizione dell'algoritmo ne dei valori di test, non posso garantire l'affidabilità.

Edit: errata corrige, piccolo errore
Edit 2: l'ho provato con due codici di raccomandate e sembra funzionare correttamente.