For some reason european - didn't worked for 98 so i recommend edit year to 4 digit number format:
function sortArrays_ByDate($target){
foreach($target as $key_s => $val_s) {
$day = substr($val_s, 0, strpos($val_s, '.'));
$month = substr($val_s, strpos($val_s, '.')+1, strrpos($val_s, '.')-strpos($val_s, '.')-1);
$year = substr($val_s, strrpos($val_s, '.')+1);
if($year > 79 && $year <= 99)
$year = "19" . $year;
elseif($year >=00 && $year <= 79)
$year = "20" . $year;
$target[(string)$key_s] = strtotime($day .'.'. $month .'.'. $year);
}
asort($target);
/*foreach($target as $value)
echo date("d.m.Y", $value) . '</br>';
changed for edit time to d.m.Y ->
*/
foreach($target as $key_s => $val_s)
$target[(string)$key_s] = date("d.m.Y", $target[(string)$key_s]);
return $target;
}
Then it worked for me, and array is sorted correctly.
Edit //
result is:
Array
(
[0] => 09.10.2012
[1] => 02.10.12
[2] => 27.09.15
[2.0] => 28.09.2012
[2.1] => 29.9.2012
[2.2] => 29.09.2012
[3] => 9.10.2012
[3.1] => 23.4.10
[4] => 28.09.2012
[5] => 26.10.2012
[6] => 12.09.98
[6.0] => 05.03.2013
[6.1] => 23.4.2013
)
Array
(
[6] => 12.09.1998
[3.1] => 23.04.2010
[4] => 28.09.2012
[2.0] => 28.09.2012
[2.1] => 29.09.2012
[2.2] => 29.09.2012
[1] => 02.10.2012
[3] => 09.10.2012
[0] => 09.10.2012
[5] => 26.10.2012
[6.0] => 05.03.2013
[6.1] => 23.04.2013
[2] => 27.09.2015
)