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:1980:84...–

peter
PHP › uspořádání pole
26. 5. 2016   #210954

Prijde mi, ze stale nechapes princip. Postup ma 2 casti. v jedne resis porovnani na slovo a v druhe samotne porovnani retezcu.

cmp (a, b)
je tam slovo?
a ano b ne return -1
a ne b ano return +1
a ano b ano strcmp(a,b)
a ne b ne strcmp(a,b)

return pak resi serazovaci cyklus, jestli polozky prohodi nebo ne a to tak, ze
return>0, pak zamen a,b, cili tmp=a; a=b; b=tmp;

Ale, tvuj kod

public function sortColumnsBySubstring($a, $b){

$found = false; // false = 0, rovnost, neprehazovat

foreach ($this->search_date_columns as $k => $needle):

  $asearch = (strpos($a, $needle) !== false);
  $bsearch = (strpos($b, $needle) !== false);   

  if ( $asearch || $bsearch) 

    { $found = true; break; } // true=1, jako return 1
endforeach;

cili, kdyz bude
a ano b ano, tak udela return 1 a zameni 'a' a 'b', cili poradi ba, OK
a ano b ne, udela return 1, zameni 'a' a 'b', cili poradi ba, SPATNE
a ne, b ano, udela return 1, zameni a a b, poradi ba, OK

Co se ti nezdalo na kodu od Q?

 

 

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