BUG:<br>


Sorting an array with values of mixed types (strings and integers) results in something which doesn't seem to be a sorted list of the values!<br>

In my particular case I have an array where the keys are associative and a mix of strings and integers. When I sort the array (ksort) the keys are not sorted correctly in any way. If I sort it again it's differently sorted. 



<?


function view_array ($array_in)	{
	// Returns HTML-code, which is a visual representation of a multidimensional array
	// use print_array() in order to print an array
	// Returns false if $array_in is not an array
	if (is_array($array_in))	{
		$result='<table border=1 cellpadding=1 cellspacing=0>';
		if (!count($array_in))	{$result.= '<tr><td><font face="Verdana,Arial" size="1"><b>'.HTMLSpecialChars("EMPTY!").'</b></font></td></tr>';}
		while (list($key,$val)=each($array_in))	{
			$result.= '<tr><td><font face="Verdana,Arial" size="1">'.HTMLSpecialChars($key).'</font></td><td>';
			if (is_array($array_in[$key]))	{
				$result.=view_array($array_in[$key]);
			} else
				$result.= '<font face="Verdana,Arial" size="1" color=red>'.nl2br(HTMLSpecialChars($val)).'<BR></font>';
			$result.= '</td></tr>';
		}
		$result.= '</table>';
	} else	{
		$result  = false;
	}
	return $result;
}
function print_array ($array_in)	{
	// Prints an array
	echo view_array($array_in);
}














$test = unserialize('a:25:{s:3:"10.";s:0:"";s:3:"12.";s:0:"";i:12;s:0:"";s:3:"13.";s:0:"";s:3:"16.";s:0:"";s:2:"XY";s:0:"";s:9:"backColor";s:0:"";s:12:"reduceColors";s:0:"";s:8:"workArea";s:0:"";i:10;s:0:"";i:11;s:0:"";s:3:"11.";s:0:"";i:13;s:0:"";i:14;s:0:"";s:3:"14.";s:0:"";i:15;s:0:"";s:3:"15.";s:0:"";i:16;s:0:"";i:17;s:0:"";s:3:"17.";s:0:"";i:18;s:0:"";s:3:"18.";s:0:"";i:19;s:0:"";s:3:"19.";s:0:"";s:6:"offset";s:0:"";}');
print_array($test);
ksort($test);
print_array($test);
ksort($test);
print_array($test);
ksort($test);
print_array($test);


?>


