To sort an array of multiple text fields alphabetically you have to make the text lowercase before sorting the array. Otherwise PHP puts acronyms before words. You can see this in my example code. Simply store the original text field at the end of the array line and call it later from there. You can safely ignore the lowercase version which is added to the start of the array line.
<?php
echo '<pre>ORIGINAL DATA:
<br />';
$data = array(
'Saturn|7|8|9|0||',
'Hello|0|1|2|3||',
'SFX|5|3|2|4||',
'HP|9|0|5|6||'
);
print_r($data);
sort($data);
reset($data);
echo '<br />RAW SORT:
<br />';
print_r($data);
for ($c = 0; $c < count($data); $c++) {
list ($letter,$g1,$g2,$g3,$g4,$end) = explode ('|', $data[$c]);
$lowercase = strtolower($letter);
$data2[$c] = array($lowercase,$g1,$g2,$g3,$g4,$letter);
}
sort($data2);
reset($data2);
echo '<br />LOWERCASE SORT:
<br />';
print_r($data2);
echo '</pre>';
?>