<?php

$total_zero = 10;
$var1 = "1.1.1";
$var2 = "10.1.1";
$var3 = "2.1.1";
$var4 = "1";
$var5 = "2";
$var6 = "3";
$var7 = "0.1";
$var9 = "10";
$var8 = "0";
$tab = array($var1 => 'salut',
    $var2 => 'salut',
    $var3 => 'salut',
    $var4 => 'salut',
    $var5 => 'salut',
    $var6 => 'salut',
    $var7 => 'salut',
    $var8 => 'salut',
    $var9 => 'salut'
);

foreach($tab as $item => $value){
    $indice = explode('.', $item);
    $nombre_zero = $total_zero - strlen($item);

    if ($indice[0] == '0') {
        $code_zero[] = strrev($item);
        $tableau_zero[$item] = $value;
        unset($tab[$item]);
    }
    else{
        $code[$item] = $indice[0];
        var_export($code);
        echo '<br>';
    }
}
array_multisort($code, SORT_ASC, $tab);

foreach ($tab as $key => $row) {
    //Pour chaque élément, on retire le point et on met du vide
    $code[$key] = str_replace('.', '', $key);

}
array_multisort($code_zero, SORT_ASC, $tableau_zero);


var_export($tableau_zero+$tab);