I have generated an array from a MySQL query which I then re-order using subval_sort(). This works fine except where the letter "E" figures in the ordering. In those cases, the value with the "E" in it comes out first. I have four instances of this happening, but everywhere else (this a very large site, btw) the ordering works fine.
Here is my array as it is generated from the db query:
Array (
[] => Array ( [Item #] => 091055070 [Size Code] => 7 [D Diameter] => 5/8" [d Small Diameter (Pilot) ] => 1/4" [L Length] => 3 1/4" )
[1] => Array ( [Item #] => 091055060 [Size Code] => 6 [D Diameter] => 1/2" [d Small Diameter (Pilot) ] => 7/32" [L Length] => 3" )
[2] => Array ( [Item #] => 091055050 [Size Code] => 5 [D Diameter] => 7/16" [d Small Diameter (Pilot) ] => 3/16" [L Length] => 2 3/4" )
[3] => Array ( [Item #] => 091055040 [Size Code] => 4 [D Diameter] => 5/16" [d Small Diameter (Pilot) ] => 1/8" [L Length] => 2 1/8" )
[4] => Array ( [Item #] => 091055030 [Size Code] => 3 [D Diameter] => 1/4" [d Small Diameter (Pilot) ] => 7/64" [L Length] => 2" )
[5] => Array ( [Item #] => 091055020 [Size Code] => 2 [D Diameter] => 3/16" [d Small Diameter (Pilot) ] => 5/64" [L Length] => 1 7/8" )
[6] => Array ( [Item #] => 091055010 [Size Code] => 1 [D Diameter] => 1/8" [d Small Diameter (Pilot) ] => 3/64" [L Length] => 1 1/4" )
[7] => Array ( [Item #] => 0910550E0 [Size Code] => 0 [D Diameter] => 1/8" [d Small Diameter (Pilot) ] => 1/32" [L Length] => 1 1/4" )
[8] => Array ( [Item #] => 091055080 [Size Code] => 8 [D Diameter] => 3/4" [d Small Diameter (Pilot) ] => 5/16" [L Length] => 3 1/2" )
[9] => Array ( [Item #] => 0910550D0 [Size Code] => 00 [D Diameter] => 1/8" [d Small Diameter (Pilot) ] => .025" [L Length] => 1 1/4" )
[10] => Array ( [Item #] => 0910550C0 [Size Code] => 000 [D Diameter] => 1/8" [d Small Diameter (Pilot) ] => .020" [L Length] => 1 1/4" )
[11] => Array ( [Item #] => 0910550B0 [Size Code] => 0000 [D Diameter] => 1/8" [d Small Diameter (Pilot) ] => .015" [L Length] => 1 1/4" )
[12] => Array ( [Item #] => 0910550A0 [Size Code] => 00000 [D Diameter] => 1/8" [d Small Diameter (Pilot) ] => .010" [L Length] => 1 1/4" ) )
I run this line:
$productArray = subval_sort($productArray,'Item #');
Then out comes this:
Array (
[0] => Array ( [Item #] => 0910550E0 [Size Code] => 0 [D Diameter] => 1/8" [d Small Diameter (Pilot) ] => 1/32" [L Length] => 1 1/4" )
[1] => Array ( [Item #] => 091055010 [Size Code] => 1 [D Diameter] => 1/8" [d Small Diameter (Pilot) ] => 3/64" [L Length] => 1 1/4" )
[2] => Array ( [Item #] => 091055020 [Size Code] => 2 [D Diameter] => 3/16" [d Small Diameter (Pilot) ] => 5/64" [L Length] => 1 7/8" )
[3] => Array ( [Item #] => 091055030 [Size Code] => 3 [D Diameter] => 1/4" [d Small Diameter (Pilot) ] => 7/64" [L Length] => 2" )
[4] => Array ( [Item #] => 091055040 [Size Code] => 4 [D Diameter] => 5/16" [d Small Diameter (Pilot) ] => 1/8" [L Length] => 2 1/8" )
[5] => Array ( [Item #] => 091055050 [Size Code] => 5 [D Diameter] => 7/16" [d Small Diameter (Pilot) ] => 3/16" [L Length] => 2 3/4" )
[6] => Array ( [Item #] => 091055060 [Size Code] => 6 [D Diameter] => 1/2" [d Small Diameter (Pilot) ] => 7/32" [L Length] => 3" )
[7] => Array ( [Item #] => 091055070 [Size Code] => 7 [D Diameter] => 5/8" [d Small Diameter (Pilot) ] => 1/4" [L Length] => 3 1/4" )
[8] => Array ( [Item #] => 091055080 [Size Code] => 8 [D Diameter] => 3/4" [d Small Diameter (Pilot) ] => 5/16" [L Length] => 3 1/2" )
[9] => Array ( [Item #] => 0910550A0 [Size Code] => 00000 [D Diameter] => 1/8" [d Small Diameter (Pilot) ] => .010" [L Length] => 1 1/4" )
[10] => Array ( [Item #] => 0910550B0 [Size Code] => 0000 [D Diameter] => 1/8" [d Small Diameter (Pilot) ] => .015" [L Length] => 1 1/4" )
[11] => Array ( [Item #] => 0910550C0 [Size Code] => 000 [D Diameter] => 1/8" [d Small Diameter (Pilot) ] => .020" [L Length] => 1 1/4" )
[12] => Array ( [Item #] => 0910550D0 [Size Code] => 00 [D Diameter] => 1/8" [d Small Diameter (Pilot) ] => .025" [L Length] => 1 1/4" ) )
Any ideas? Thanks in advance