Quizas te interese mirar este código que tambien admite acentos en la primer letra de los apellidos:
Código PHP:
Ver original<?php
// Codificado en ansi.
$apellidos = [
"becerro",
"agusto",
"ñato",
"nebundi",
"Ñoco",
"alpolo",
"palon"
];
{ return mb_strtoupper(substr($val,0,1)); } // Con esta funcion, obtienes la primer letra del apellido en mayusculas. El resto es para automatizar y no es relevante. , $apellidos
)
);
// Con esto lo ordenas correctamente.
, function($val1, $val2)
{
$val1 = str_replace("Ñ", "NN", strtr($val1,"ÀÈÌÒÙÁÉÍÓÚÄËÏÖÜ","AEIOUAEIOUAEIOU")); $val2 = str_replace("Ñ", "NN", strtr($val2,"ÀÈÌÒÙÁÉÍÓÚÄËÏÖÜ","AEIOUAEIOUAEIOU")); }
);
/*
array (size=5)
0 => string 'B' (length=1)
1 => string 'A' (length=1)
2 => string 'Ñ' (length=1)
3 => string 'N' (length=1)
6 => string 'P' (length=1)
array (size=5)
1 => string 'A' (length=1)
0 => string 'B' (length=1)
3 => string 'N' (length=1)
2 => string 'Ñ' (length=1)
6 => string 'P' (length=1)
*/