> array ( > 20040310, Title, Author > 20041115, Title, Author > 20040513, Title, Author > ) > > where each array element is 1 line from the csv. When I go to print it > out, Im going to explode each by , and then print it out the way I like. > > BUT, I want to sort them all by those first 8 digits, which happen to be > the date. Any way to sort an array by the first x characters in its > string? > > This would save a lot on processor time, otherwise Im going to have to > pull an array of those characters, sort it, and then run some matching > scheme against the CSV data to print it in the order I like - which would > be HUGELY processor intensive. I think sort should do it for you $array = array("20040310, Title, Author", "20041115, Title, Author", "20040513, Title, Author"); sort($array); reset($array); while (list($key, $val) = each($array)) { echo "array[" . $key . "] = " . $val . "<br />"; } but, if you wanted to just make sure it was the first entry in the CSV try usort function cmp($a, $b) { $first = explode(',', $a); $second = explode(',', $b); if ($first == $second) { return 0; } return ($first < $second) ? -1 : 1; } $array = array("20040310, Title, Author", "20041115, Title, Author", "20040513, Title, Author"); usort($array, "cmp"); while (list($key, $value) = each($array)) { echo "array[" . $key . "] = " . $value . "<br />"; } -- PHP General Mailing List (http://www.php.net/) To unsubscribe, visit: http://www.php.net/unsub.php