Anonymní profil peter – Programujte.com
 x   TIP: Přetáhni ikonu na hlavní panel pro připnutí webu

Anonymní profil peter – Programujte.comAnonymní profil peter – Programujte.com

 

Příspěvky odeslané z IP adresy 2001:718:2601:26c:84ce:bd...–

peter
PHP › uspořádání pole
25. 5. 2016   #210934

ale jestli to mas z SQL, tak bych to serazoval pres sql.
 

SELECT
  sloupec
  if (sloupec obsahuje 'slovo') ? 1 : 0 AS sloupec_slovo -- ted nevim, jak je tam ta funkce
FROM
  tab
OBDER BY sloupec_slovo DESC, sloupec ASC
peter
PHP › uspořádání pole
25. 5. 2016   #210933

V tom prispevku jsem mel vysvetlene, co ta cmp dela :) Zkusim to znova, strucne, kodem.

function sort(pole, cmp)
{
cyklus cyklus (vsechny polozky pole)
{
// a = pole[i]; b = pole[i+1]
if (cmp(a,b)>0) {tmp=a; a=b; b=tmp;} // zamen a, b
}
}

Klasicke cmp je funkce
cmp (a,b) {return a-b} // nebo kod z example 1

Kdyz tam chces to slovo, tak si to udelej jako objekt, kde se pres this->slovo dostanes k tomu slovu. A nebo tam dej nejakou globalni promenou. A nebo muzes jako anonymni funkci (google, coz te odkaze na manual a usort).
http://php.net/…on.usort.php
Napr "Example 4" nebo prispevek "53 zuallauz at gmail dot com 4 years ago".

peter
PHP › uspořádání pole
25. 5. 2016   #210932

Bezva, ted mi to smazalo prispevek, pri kliknuti na zobrazeni noveho :)

Tak misto nazvu funkce tam predas anonymni, kde si definujes, jake slovo chces. Nebo si udelej objekt na cmp, kde pri inicializaci zadas slovo.

peter
PHP › uspořádání pole
25. 5. 2016   #210923

http://php.net/manual/en/function.sort.php
tam kliknes na link2
http://php.net/….sorting.php
Zajimaji te 'user defined' z te tabulky
http://php.net/…on.usort.php
A jake prekvapeni, je to hned example 1. Kdo by to cekal, ze to najdes v manualu v kapitole o sortovani, ze? :)

<?php
function cmp($a, $b)
{
    if ($a == $b) {
        return 0;
    }
    return ($a < $b) ? -1 : 1;
}

$a = array(3, 2, 5, 6, 1);

usort($a, "cmp");

Do compare (cmp) funkce si muzes vlozit jakykoliv kod pro porovnani. Ve tvem pripade kod na strpos('date')!==false. Jestlize to bude v $a, tak return-ujes -1, jestlize v $b, pak 1. Jestlize v obou, pak je porovnas $a<$b (viz kod cmp toho prikladu). Jestlize ani jedno, pak take porovnas $a<$b.

peter
PHP › ukládání dat do souboru po v…
25. 5. 2016   #210922

Umi, ale nedela :) Rikam, od roku 2007 jsem stranky nemenil. Ta reklama tam vzdycky byla. Ale teda podle starych podminek v poradku. Jestli zmenili podminky... Jenze i tak maji brat ohled. Mou duveru uz neziskaji a radeji si zaplatim vlastni techniku. Coz se uz deje nekolik let, jen se mi tam nechtelo zatim presunovat i moji webku :)

 

 

Hostujeme u Českého hostingu       ISSN 1801-1586       ⇡ Nahoru Webtea.cz logo © 20032019 Programujte.com
Zasadilo a pěstuje Webtea.cz, šéfredaktor Lukáš Churý