Elikkäs tälläinen todella yksinkertainen esimerkki viittauksien (pointterien) käytöstä php:ssa.
<?php // metodi vaihtaa muuttujien arvot päittäin function vaihda(&$arvo,&$arvo2) { $temp = $arvo; $arvo = $arvo2; $arvo2 = $temp; } ?>
<?php // hexa-stringeillä alustetut muuttujat $testi1 = "#999999"; $testi2 = "#cccccc"; /* kymmenen lenkin looppi joka havainnollistaa taustavärien vaihtumisen toistojen väleillä */ for ($i = 0; $i < 10; $i++) { //html-stringi echo "<p><span style='background-color:".$testi1."'> vaihtoväri</span><span style='background-color:".$testi2."'> värivaihto</span></p>"; vaihda($testi1 ,$testi2); } ?>
jaha, tällanen vähän turhempi taas :-)
Enpäs tiennytkään, että PHP:ssä on pointtereita.
Heh, eikös jokainen itseäänkunnioittava koodari vaihda kahden muuttujan arvon ilman kolmatta muuttujaa :P
<?php function vaihda(&$arvo1,&$arvo2){ $arvo1 ^= $arvo2; $arvo2 ^= $arvo1; $arvo1 ^= $arvo2; } ?>
lainaus:
Heh, eikös jokainen itseäänkunnioittava koodari vaihda kahden muuttujan arvon ilman kolmetta muuttujaa :P
Mietin ihan samaa, mutta eikö tuo toimi vain numeroilla?
lainaus:
Mietin ihan samaa, mutta eikö tuo toimi vain numeroilla?
Aivan ja tietokoneen mielestähän kaikki on numeroita. :D
Kyllä tuo ajv:n funktio toimii stringeillä myös, mutta stringien täytyy olla yhtä pitkiä, muuten se katkaisee pidemmän stringin lyhyemmän pituiseksi.
lainaus:
Aivan ja tietokoneen mielestähän kaikki on numeroita. :D
Joka ei suinkaan liity tähän.
pointti on kuitenkin vain se että php(4)ssa voi käyttää pointtereita. esimerkki nyt ei ehkä ole paras mahdollinen.
Php:ssä on funktiot ja Javassa metodit. Lisäksi noihin koodibokseihin voisi laittaa <?php ?>, jotta teksti värjäytyisi.
rakkaalla aliohjelmalla monta nimeä
ja swapille on turhaa tehdä omaa aliohjelmaa.
macro korkeintaan :) (ei taida sellaista php:ssa olla)
lainaus:
ja swapille on turhaa tehdä omaa aliohjelmaa.
macro korkeintaan :) (ei taida sellaista php:ssa olla)
miten niin turhaa? entä jos tota swappia tarvitsee useassa eri kohdassa ja vielä eri luokassa? toi on siitä hyvä että se toimii millä muuttujilla tahansa.
IHAN KIVA KOODIVINKKI
Alkuperäisessä esimerkissä en näe pointtereita. Jos PHP:ssä on mahdollista käyttää pointtereita niin se on erittäin iso miinus sille, kunnollisissa kielissä moisia ei ole.
lainaus:
Jos PHP:ssä on mahdollista käyttää pointtereita niin se on erittäin iso miinus sille, kunnollisissa kielissä moisia ei ole.
Sanoo sellainen, joka ei tajua mitä pointterit oikeesti on.
Onko Java,C,C++ sitten huonoja kieliä, koska niissä on pointtereita?
Niin kyllä Javassakin on pointtereita. Ne vaan on vähän piilossa.
...koodi toiminnassa missä?
coaster: Käytin pointtereita ennen kuin sinä olit edes pilke isäsi silmäkulmassa. :) Joten ehkä tiedän mitä ne ovat. Ja ne ovat erittäin huono asia, piste. Jos muuta väittää on pelkkä aloittelija jonka mielestä niillä on kiva kikkailla. Nih.
Javassa ei ole pointtereita, yksi sen hyviä puolia. Tai sitten tarkoitat pointterilla jotain muuta kuin pointteria. C/C++:ssa pointtereita käytetään vahvasti ja se onkin noiden pahin ongelma. Aiheuttavat paljon hankalia bugeja vain.
Tämä keskustelu taitaa kohta mennä taas semantiikaksi ja pilkun viilailuksi...
EDIT: Tässä vielä linkki aiheesta.
http://mindprod.com/jgloss/pointer.html
kikkailkehhaan
voiks php:llä tehdä ihan pelattavia pelejä
Voi.
Aihe on jo aika vanha, joten et voi enää vastata siihen.