PHP hints
Tik tikko ienāca prātā doma, kā iekš PHP samainīt vietām divu mainīgo vērtības, neizmantojot trešo mainīgo.
Agrāk rakstīju:
$c = $a;
$a = $b;
$b = $c;
Tagad rakstīšu:
list($a, $b) = array($b, $a);
✉️ Saņem šito visu e-pastā. Tā vietā, lai palaistu garām kaut ko no tā, ko es rakstu savā blogā, tagad vari pierakstīties un saņemt e-pastā visu, ko es te rakstu. Tas nav bieži.
Tik tikko ienāca prātā doma, kā iekš PHP samainīt vietām divu mainīgo vērtības, neizmantojot trešo mainīgo.
Agrāk rakstīju:
$c = $a;
$a = $b;
$b = $c;
Tagad rakstīšu:
list($a, $b) = array($b, $a);
Delf
2004. gada 19. februārī, plkst. 09:41
kur nozagi ideju ? jeb pac izdomaaji so gjenialo ideju :)
$a = $a + $b; $b = $a - $b; $a = $a - $b;
7 = 4 + 3 4 = 7 - 3 3 = 7 - 4
taa pat arii ar * un / :)
Delf
2004. gada 19. februārī, plkst. 09:42
/me liekas ka php gana iekshaa izmanto kaut ko "tresho" (neba temp array)
laacz
2004. gada 19. februārī, plkst. 09:58
Delf: Tavs gadījums der tikai, ja vietām jāmaina skaitļi. A tas, ka PHP pats izmanto kaut ko trešo, mani nekrata, jo ātrāk būs tad, ja PHP interpretators jamo iznmanto, nekā tad, ja es pats to daru :)
Mark
2004. gada 19. februārī, plkst. 11:59
Īsti kodieri domā bitos :)
$a = $a ^ $b; $b = $a ^ $b; $a = $a ^ $b;
cyberspace
2004. gada 19. februārī, plkst. 12:24
Intresanti kā tas ir realizets zemaka līmeni. Sportiskas intreser pēc:) varbūt tomer is gadijumi kad labak ir izmantot tresso mainigo:)
Smejmoon
2004. gada 19. februārī, plkst. 12:27
No offence:
zem segas tur notiek taa
tuple(a,b) = tuple(b,a)
--
2004. gada 19. februārī, plkst. 13:20
Ja veseli skaitļi, tad visātrāk ir: a <-> b:
a = a xor b b = b xor a a = a xor b
sklp
2004. gada 19. februārī, plkst. 13:21
Vai pat īsāk ;) $a^=$b^=$a^=$b;
misame
2004. gada 19. februārī, plkst. 14:41
bija bija šitāda (http://asdf.lv/stufi/xor.htm) lieta
Lupus
2004. gada 19. februārī, plkst. 14:53
vienkāršība? Es tādu kodu lasīšu un domāšu kas tur notiek. Man labāk patīk ja viss smuki priekšā uzrakstīts.
Nemaz nerunājot par to ka šitādos sīkumos tev rezultātā savāksies ievērojams overheads.
Grrr
2004. gada 19. februārī, plkst. 17:59
Nemaz nerunājot par to, vai PHP tiešām otro variantu izpildīs ātrāk.
Bez tam.. sauciet mani par tupu, bet iedodiet piemēru, kur mainīgos jāswapo vietām, un kuru nevar pārrakstīt elegantāk (un iespējams ātrāk).
Vienīgais kas nāk prātā ir zortēšana, bet nu tur jau nu gan būtu labāk izmantot built-inus.
cu
2004. gada 19. februārī, plkst. 18:46
matemātika: a = 4 b = 3 a = a+b // 7 b = a - b // 7 - 3 = 4 a = a - b // 7 - 4 = 3
cu
2004. gada 19. februārī, plkst. 19:11
ak šausmas, delf (pats pirmais komentārs) ir pilnīgi kopējis mani :))
Smejmoon
2004. gada 19. februārī, plkst. 22:06
Starpcitu lāča variants strādā jebkuram mainīgo daudzumam :P
Druu
2004. gada 20. februārī, plkst. 09:36
...un ir daudz saprotamāks par matemātiskajām idejām
Armis
2004. gada 20. februārī, plkst. 14:32
Butiba sis tipa hints darbojas visas progr.val., biezi vien jaizmanto kads(-i) liekais(-ie) mainigie, lai kaut ko apmainitu vietam!!! Ja iet skola un lasa gramatas, tad sadu padomu var uzzinat....es to uzzinaju pirms 4 gadiem.... :-PPPP