Fórum Ubuntu CZ/SK
Ubuntu pro osobní počítače => Software => Příkazový řádek a programování pro GNU/Linux => Téma založeno: JohnDoe 09 Dubna 2009, 12:01:30
-
Ahoj, rekneme, ze mame tento kod:
<?php
header("Content-Type: text/plain");
$testarray=Array();
$testarray[0]="2009.1.28 08:29:31";
$testarray[1]="2009.1.28 08:29:31";
$testarray[2]="2009.1.28 08:29:31";
$testarray[3]="2009.1.28 08:29:32";
$testarray2=Array();
$testarray2[0]="0";
$testarray2[1]="1";
$testarray2[2]="2";
$testarray2[3]="3";
asort($testarray);
reset($testarray);
while (list ($key, $val) = each ($testarray)) {
echo($val." key=$key ".$testarray2[$key]."\n");
}
?>
Ktery vyproukuje (dost nemyslne) toto (vsimnete si obraceneho poradi stejnych retezcu):
2009.1.28 08:29:31 key=2 2
2009.1.28 08:29:31 key=1 1
2009.1.28 08:29:31 key=0 0
2009.1.28 08:29:32 key=3 3
Funkce asort by mela tridit se zachovanim klicu. Ale pro proboha hrabe i na pole, ktera jsou uplne stejna, a prehodi poradi na sestupne? :o Kdyz vymenim asort za sort, tak to nedela:
2009.1.28 08:29:31 key=0 0
2009.1.28 08:29:31 key=1 1
2009.1.28 08:29:31 key=2 2
2009.1.28 08:29:32 key=3 3
Jenze ja to potrebuju tridit se zachovanim indexu. Ze by se vloudila chybicka do funkce asort? ;)
Proc to potrebuju:
Potrebuju setridit radky ze souboru, ale jen do n-teho znaku (n se muze lisit), takze jsem to chtel vyresit rozdelenim radku na 2 pole a pouzitim asort jen na prvni pole, jenze to evidentne nejde. Napada Vas neco?
-
zdarec, zkus to spíš na forum.builder.cz - tam mi zatím vždycky poradili :)
-
co obsah souboru nacist do pole (file()) a pak si implementovat vlastni porovnavani? http://cz2.php.net/manual/en/function.usort.php
-
Ja jsem to nakonec vyresil lisacky ;) Staci dat asort dvakrat za sebou a pak je to poradi spravne jak ma byt, protoze se zas otoci to, co se otocilo ::)