FAQ
Hola amigos, tengo un pequeño problema con un ordenamiento de elemtneos de
una matriz, paso a explicarlo:

Este es el array
Array
(
[0] => 3Koma
[1] => Abra Producciones
[2] => Aginako Bideo Zinema
[3] => Alianzo Networks
[4] => Andoaingo Zine eta Bideo Eskola
[5] => BST, Broadcast Services y Teleproducciones
[6] => Baleuko Komunikazioa
[7] => Barton Films
[8] => Bitart New Media
[9] => Canal Bizkaia
[10] => Canal Euskadi
[11] => Dig y Tal Audiovisuales
[12] => Digital Mobiles
[13] => EUVE
[14] => EiTB
[15] => Elhuyar
[16] => Erabi Tecnología Audiovisual
[17] => Euskaltel
[18] => Eusko Ikaskuntza
[19] => Expressive Media Project
[20] => Flying Apple and Film Producers
[21] => G93 Telecomunicaciones
[22] => Gizer.net
[23] => Grok Visual
[24] => IDEM Producción Audiovisual
[25] => ITESA Producciones
[26] => Interocio Digital Services
[27] => Irusoin
[28] => Itziar
[29] => Jarkatza Media
[30] => K2000
[31] => Kursaal Promociones Audiovisuales
[32] => Megavideo
[33] => Mixer Servivios Audiovisuales
[34] => Orio Produkzioak
[35] => Pausoka Entertainment
[36] => Signo Digital
[37] => Sugar Factory
[38] => Ubiqa, Tecnología Ideas y Comunicación
[39] => Vicomtech
[40] => Vilaumedia
[41] => erkuden
[42] => usuario2
[43] => usuario3
)

Como pueden ver en un principio pareciera estar ordenado, pero no es así,
Tengo problemas con las palabras que están escritas en mayúsculas,
pareciera que el asort me ordena mal.

Alguien que me pueda ayudar???

Esta es mi función

function DoUserSort($array, $sortkey) {
if (is_array($array) && count($array) > 0) {
// add userid index
foreach ($array as $key => $value) {
$array[$key]['userid'] = $key;
}

foreach (array_keys($array) as $key) {
$temp[$key] = $array[$key][$sortkey];
}

asort($temp);
reset($temp);
echo "<pre>";
print_r($temp);
echo "</pre>";

foreach (array_keys($temp) as $key) {
$sorted[] = $array[$key];
}


return $sorted;
}
return $array;
}

Search Discussions

  • Enrique Ocaña González at Apr 16, 2009 at 3:43 pm

    El Thursday 16 April 2009 15:07:09 irantzu@dosalcubo.net escribió:

    Hola amigos, tengo un pequeño problema con un ordenamiento de elemtneos de
    una matriz, paso a explicarlo:
    [...]
    Como pueden ver en un principio pareciera estar ordenado, pero no es así,
    Tengo problemas con las palabras que están escritas en mayúsculas,
    pareciera que el asort me ordena mal.
    [...]
    asort($temp);
    Te está ordenando según el orden ASCII [1] de los caracteres. En ASCII todas
    las mayúsculas están antes que las minúsculas.

    Si quieres que te ordene según el orden lexicográfico, prueba a pasarle el
    flag SORT_STRING o SORT_LOCALE_STRING [2] como segundo parámetro a asort()
    [3]. Creo que así funcionará.

    Saludos.

    [1]
    http://www.cdrummond.qc.ca/cegep/informat/Professeurs/Alain/files/ascii.htm
    [2] http://www.php-es.com/function.sort.html
    [3] http://www.php-es.com/function.asort.html

    --
    Enrique Ocaña

Related Discussions

Discussion Navigation
viewthread | post
Discussion Overview
groupphp-general-es @
categoriesphp
postedApr 16, '09 at 1:07p
activeApr 16, '09 at 3:43p
posts2
users2
websitephp.net

People

Translate

site design / logo © 2022 Grokbase