<?php
$alpha_programs = [
'Documentaires CPAC',
'Des Canadiens exceptionnels',
'Did You Know?',
'Délibérations de la Chambre des communes',
'Débats Vote 2015',
'Dossier public',
'Délibérations du Sénat',
];
// This can fail
var_dump(setlocale(LC_COLLATE, 'fr_CA.utf8'));
// This should always be available
var_dump(setlocale(LC_COLLATE, 'C'));
$collator = Collator::create('fr_CA.utf8');
$collator->sort($alpha_programs);
print_r($alpha_programs);
string(10) "fr_CA.utf8"
string(1) "C"
Array
(
[0] => Débats Vote 2015
[1] => Délibérations de la Chambre des communes
[2] => Délibérations du Sénat
[3] => Des Canadiens exceptionnels
[4] => Did You Know?
[5] => Documentaires CPAC
[6] => Dossier public
)
Output for 8.0.13
string(10) "fr_CA.utf8"
string(1) "C"
Fatal error: Uncaught Error: Class "Collator" not found in /in/mk96G:19
Stack trace:
#0 {main}
thrown in /in/mk96G on line 19
Process exited with code 255.
Output for 7.3.32 - 7.3.33, 7.4.33
string(10) "fr_CA.utf8"
string(1) "C"
Fatal error: Uncaught Error: Class 'Collator' not found in /in/mk96G:19
Stack trace:
#0 {main}
thrown in /in/mk96G on line 19
Process exited with code 255.
Output for 5.4.0 - 5.4.45
string(10) "fr_CA.utf8"
string(1) "C"
Fatal error: Class 'Collator' not found in /in/mk96G on line 19
Process exited with code 255.