Pomoc - Szukaj - Użytkownicy - Kalendarz
Pełna wersja: [Php] Sortowanie i polskie ogonki
Forum PHP.pl > Forum > Przedszkole
faran
Witam,
Mam taką tablice
Kod
$arr = array("1" => "śliski", "2" => "elegancki", "3" => "ącki");

Jak posortować ją aby była w koleiności alfabetycznej ?
skowron-line
http://pl.php.net/manual/en/function.asort.php
Wicepsik
Cytat(skowron-line @ 12.06.2009, 10:42:56 ) *

Nie zadziała smile.gif

Kod
Array
(
    [2] => elegancki
    [3] => ącki
    [1] => śliski
)
ddiceman
http://pl.php.net/manual/pl/function.usort.php
+
  1. <?php
  2. function plsort($a, $b){
  3.        $alfabet = array('A' => 0, 'a' => 1, 'Ą' => 2, 'ą' => 3); // reszte uzupelnic
  4.        if($alfabet[$a] == $alfabet [$b]) return 0;
  5.        if($alfabet[$a] >  $alfabet [$b]) return 1;
  6.        return -1;
  7.    }
  8. ?>
Wicepsik
@up
To jest lepsze, mniej kodu happy.gif
  1. <?php
  2. setlocale(LC_ALL, 'pl_PL.UTF8');
  3.  
  4. $arr = array("1" => "śliski", "2" => "elegancki", "3" => "ącki");
  5.  
  6. sort($arr, SORT_LOCALE_STRING);
  7.  
  8. print_r($arr);
  9. ?>


Kod
Array
(
    [0] => ącki
    [1] => elegancki
    [2] => śliski
)
ddiceman
i szybsze w dodatku smile.gif masz racje Wicepsik - rozpedzilem sie z usort();
faran
W zadzie z sortowaneim sobie poradziełem, ale jeszcze jest problem.
Jak posortować tablice zawierającą polskie ogonki w sposób naturalny ?
Kod
$arr2 = array("1" => "10śliski", "2" => "2elegancki", "3" => "100ącki");
faran
W zadzie z sortowaneim sobie poradziełem, ale jeszcze jest problem.
Jak posortować tablice zawierającą polskie ogonki w sposób naturalny ?
Kod
$arr2 = array("1" => "10śliski", "2" => "2elegancki", "3" => "100ącki");
behu
http://www.pluscms.net/cms/?id=470

później tylko:
  1. <?php
  2. include('utf8.inc.php');
  3. @usort($arr2, '_mb_strncmp');
  4. ?>
faran
Nie działa.....
Robie tak:
Kod
$arr2 = array("1" => "10śliski", "2" => "2elegancki", "3" => "100ącki");
include('utf8.inc.php');
@usort($arr2, '_mb_strncmp');

zostaj zwrócona tablica:
Kod
Array
(
    [0] => 100ącki
    [1] => 2elegancki
    [2] => 10śliski
)
Wicepsik
No to otrzymałeś pierwsze ą drugie e a trzecie ś
A jak chciałeś otrzymać wynik?
faran
Chciałbym otrzymać taką tablice aby elementy były ułożone w sposób naturalny czyli 1,2,3,4... ale też żeby w przypadku braku liczb na początku elementu polskie ogonki były ułożone alfabetycznie:
Kod
Array
(
    [1] => 2elegancki
    [2] => 10śliski
    [3] => 100ącki
)
To jest wersja lo-fi głównej zawartości. Aby zobaczyć pełną wersję z większą zawartością, obrazkami i formatowaniem proszę kliknij tutaj.
Invision Power Board © 2001-2025 Invision Power Services, Inc.