Witaj Gościu! ( Zaloguj | Rejestruj )

Forum PHP.pl

 
Reply to this topicStart new topic
> [Php] Sortowanie i polskie ogonki
faran
post 12.06.2009, 09:36:24
Post #1





Grupa: Zarejestrowani
Postów: 99
Pomógł: 2
Dołączył: 27.10.2006
Skąd: CyberRZECZYWISTOŚĆ

Ostrzeżenie: (0%)
-----


Witam,
Mam taką tablice
Kod
$arr = array("1" => "śliski", "2" => "elegancki", "3" => "ącki");

Jak posortować ją aby była w koleiności alfabetycznej ?
Go to the top of the page
+Quote Post
skowron-line
post 12.06.2009, 09:42:56
Post #2





Grupa: Zarejestrowani
Postów: 4 340
Pomógł: 542
Dołączył: 15.01.2006
Skąd: Olsztyn/Warszawa

Ostrzeżenie: (0%)
-----


http://pl.php.net/manual/en/function.asort.php


--------------------
I'm so fast that last night I turned off the light switch in my hotel room and was in bed before the room was dark - Muhammad Ali.
Peg jeżeli chcesz uprawiać sex to dzieci muszą wyjść, a jeżeli chcesz żeby był dobry ty też musisz wyjść - Al Bundy.

QueryBuilder, Mootools.net, bbcradio1::MistaJam
http://www.phpbench.com/
Go to the top of the page
+Quote Post
Wicepsik
post 12.06.2009, 09:48:56
Post #3





Grupa: Zarejestrowani
Postów: 1 575
Pomógł: 299
Dołączył: 26.03.2009

Ostrzeżenie: (20%)
X----


Cytat(skowron-line @ 12.06.2009, 10:42:56 ) *

Nie zadziała smile.gif

Kod
Array
(
    [2] => elegancki
    [3] => ącki
    [1] => śliski
)


Ten post edytował Wicepsik 12.06.2009, 09:55:32


--------------------
Go to the top of the page
+Quote Post
ddiceman
post 12.06.2009, 09:54:18
Post #4





Grupa: Zarejestrowani
Postów: 326
Pomógł: 121
Dołączył: 23.07.2008
Skąd: Wrocław

Ostrzeżenie: (0%)
-----


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. ?>


Ten post edytował ddiceman 12.06.2009, 09:54:34
Go to the top of the page
+Quote Post
Wicepsik
post 12.06.2009, 09:56:04
Post #5





Grupa: Zarejestrowani
Postów: 1 575
Pomógł: 299
Dołączył: 26.03.2009

Ostrzeżenie: (20%)
X----


@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
)


Ten post edytował Wicepsik 12.06.2009, 09:56:46


--------------------
Go to the top of the page
+Quote Post
ddiceman
post 12.06.2009, 09:59:24
Post #6





Grupa: Zarejestrowani
Postów: 326
Pomógł: 121
Dołączył: 23.07.2008
Skąd: Wrocław

Ostrzeżenie: (0%)
-----


i szybsze w dodatku smile.gif masz racje Wicepsik - rozpedzilem sie z usort();
Go to the top of the page
+Quote Post
faran
post 3.07.2009, 00:35:17
Post #7





Grupa: Zarejestrowani
Postów: 99
Pomógł: 2
Dołączył: 27.10.2006
Skąd: CyberRZECZYWISTOŚĆ

Ostrzeżenie: (0%)
-----


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");
Go to the top of the page
+Quote Post
faran
post 3.07.2009, 00:37:12
Post #8





Grupa: Zarejestrowani
Postów: 99
Pomógł: 2
Dołączył: 27.10.2006
Skąd: CyberRZECZYWISTOŚĆ

Ostrzeżenie: (0%)
-----


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");
Go to the top of the page
+Quote Post
behu
post 3.07.2009, 01:45:23
Post #9





Grupa: Zarejestrowani
Postów: 52
Pomógł: 16
Dołączył: 8.08.2008
Skąd: London

Ostrzeżenie: (0%)
-----


http://www.pluscms.net/cms/?id=470

później tylko:
  1. <?php
  2. include('utf8.inc.php');
  3. @usort($arr2, '_mb_strncmp');
  4. ?>


Ten post edytował behu 3.07.2009, 01:49:55


--------------------
Freelancer - [C#, PHP, MySQL, xHTML, CSS]
michal.schweichler [at] gmail.com
http://www.elance.com/s/michal_schweichler/
Go to the top of the page
+Quote Post
faran
post 3.07.2009, 11:50:57
Post #10





Grupa: Zarejestrowani
Postów: 99
Pomógł: 2
Dołączył: 27.10.2006
Skąd: CyberRZECZYWISTOŚĆ

Ostrzeżenie: (0%)
-----


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
)


Ten post edytował faran 3.07.2009, 11:51:20
Go to the top of the page
+Quote Post
Wicepsik
post 3.07.2009, 11:53:50
Post #11





Grupa: Zarejestrowani
Postów: 1 575
Pomógł: 299
Dołączył: 26.03.2009

Ostrzeżenie: (20%)
X----


No to otrzymałeś pierwsze ą drugie e a trzecie ś
A jak chciałeś otrzymać wynik?


--------------------
Go to the top of the page
+Quote Post
faran
post 3.07.2009, 12:01:44
Post #12





Grupa: Zarejestrowani
Postów: 99
Pomógł: 2
Dołączył: 27.10.2006
Skąd: CyberRZECZYWISTOŚĆ

Ostrzeżenie: (0%)
-----


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
)


Ten post edytował faran 3.07.2009, 12:02:42
Go to the top of the page
+Quote Post

Reply to this topicStart new topic
1 Użytkowników czyta ten temat (1 Gości i 0 Anonimowych użytkowników)
0 Zarejestrowanych:

 



RSS Wersja Lo-Fi Aktualny czas: 8.07.2025 - 06:53